2009-10-06 22 views
11

To jest dość krępujące, ale przypadkowo usunąłem moje konto Windows z listy użytkowników SQL Server 2008 i nie mogę do końca życia dowiedzieć się, jak ponownie dodać siebie teraz, gdy nie mam uprawnień do logowania.SQL Server 2008 - Dodaj konto Windows po usunięciu domyślnego użytkownika

Serwer działa na moim komputerze, a jedynymi innymi użytkownikami systemu Windows z dostępem są: IUSR, NETWORK SERVICE i SYSTEM. Czy jest coś, co mogę zrobić bez ponownego instalowania?

Odpowiedz

25

Niedawno usunąłem również moje konto Windows z mojego lokalnego serwera programistycznego 2008. Byłem w stanie użyć trybu pojedynczego użytkownika serwera SQL do odtworzenia mojego loginu i dodania go do roli sysadmin. Zajęło mi to tylko kilka minut i nie musiałem przyznawać nikomu mojego strasznego błędu.

Od MSDN:

Uruchamianie SQL Server w trybie pojedynczego użytkownika pozwala każdemu członkowi lokalnej grupy Administratorzy komputera połączyć się z wystąpienie SQL Server jako członek sysadmin stała rola serwera.

Oto jak ja przywrócić sobie:

  1. wyjście z SSMS
  2. zatrzymywanie usług dowolnego języka SQL. Musiałem zatrzymać usługi Reporting Services. Inne usługi SQL, takie jak SQL Agent, wykorzystają także twoje jedyne, cenne połączenie.
  3. Zatrzymaj usługę SQL
  4. Uruchom usługę SQL z dodatkowym parametrem -m. Spowoduje to przejście SQL do trybu pojedynczego użytkownika. Oznacza to, że SQL akceptuje tylko jedno połączenie.
  5. Użyj sqlcmd, aby połączyć się z serwerem za pomocą zaufanego połączenia -E. SQL przyjmie Cię do roli sysadmin, jeśli jesteś administratorem lokalnym.
  6. W sesji interaktywnej utwórz swój login i dodaj do roli sysadmins.

    USE master 
    GO 
    CREATE LOGIN [domain\username] FROM WINDOWS WITH DEFAULT_DATABASE=[Master] 
    GO 
    EXEC sp_addsrvrolemember @loginame=N'domain\username', @rolename=N'sysadmin' 
    GO 
    
  7. Zatrzymaj usługę SQL, usuń parametr -m i zrestartuj usługę. Powinieneś teraz móc powrócić do SSMS i dalej normalnie korzystać z serwera.

Jeśli pojawi się komunikat:

Logowanie nie powiodło się dla użytkownika 'domena \ nazwa_użytkownika'. Przyczyna: Serwer działa w trybie pojedynczego użytkownika . Tylko jeden administrator może się połączyć w tym momencie.

Następnie jest coś, co wykorzystuje jedno połączenie. Trzeba będzie znaleźć tę usługę lub połączenie i zatrzymać ją, zanim będzie można się zalogować. Sprawdź SQL Agent, SQL Reporting Services, SQL Analysis Services itp.

+1

Pracowałem dla mnie, dzięki. Aby uruchomić i zatrzymać usługę z wiersza poleceń, znalazłem to [odniesienie do technetu] (http://technet.microsoft.com/en-us/magazine/dd421654.aspx) pomocne. – tharen

+0

Zaktualizowany do preferowanej odpowiedzi jako link blogu w oryginalnej odpowiedzi nie jest już dostępny. –

5

Na szczęście nie było to zbyt trudne do naprawienia (nie powinno to być trudne ...)!

This blog post wyjaśnia kroki do uruchamiania SQL Server w trybie pojedynczego użytkownika, który (z jakiegoś powodu) pozwoliło mi się zalogować jako mojego konta administratora systemu Windows, należy dodać konto do listy użytkowników (wraz z CREATE LOGIN), pozwalają użytkownikowi SA i ustawić swoje hasło na coś, co faktycznie znałem, i na koniec zalogować się jako SA i dać przywileje sysadmin konta Windows.

Edytuj 07/05/13:Try this link instead.

+0

Ten link jest nieaktualny! – user287745

0

Często SQL Server jest zainstalowany tak, że każdy lokalny administrator to SQL Serwer sysadmin.

W takim przypadku można uruchomić Management Studio jako administrator, a następnie dodać dowolnych innych użytkowników systemu Windows jako login w sekcji Zabezpieczenia.

To rozwiązanie sprawdziło się u mnie.

Powiązane problemy