Co zrobić jeśli usunąłeś konto administratora z SQL Server? To było jedyne takie konto…

17-sty-2013

Domyślnie lokalny administrator lub administrator domeny nie jest administratorem w SQL Server, dlatego jeżeli usunąłeś „jakoś” jedyne konto administratora to masz problem, ale…

Jeżeli jesteś lokalnym administratorem, to możesz wyłączyć serwer. Możesz go także uruchomić w trybie single user. Jeśli lokalny admin zaloguje się do serwera w trybie single user to z marszu jest przypisany do roli sysadmin, czyli jest administratorem i może stworzyć nowy login administratora.

Poniższe rozwiązanie pochodzi ze strony: http://stackoverflow.com/questions/1528538/sql-server-2008-add-windows-account-after-deleting-default-user ale przeklejam je tutaj „dla potomnych”.

From MSDN:

Starting SQL Server in single-user mode enables any member of the  computer’s local Administrators group to connect to the instance of SQL  Server as a member of the sysadmin fixed server role.

Here’s how I reinstated myself:

  1. Exit out of SSMS
  2. Stop any SQL related services. I had to stop Reporting Services. Other SQL services such as SQL Agent will also use up your one, valuable connection.
  3. Stop the SQL service
  4. Start the SQL service with the extra parameter -m. This will put the SQL into Single User Mode. This means that SQL will only accept one connection.
  5. Use sqlcmd to connect to your server with the -E trusted connection option. SQL will accept you into the sysadmin role if you’re a local administrator.
  6. In the interactive session, create your login and add to the sysadmins role.
    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. Stop the SQL service, remove the -m parameter and restart the service. You should now be able to go back into SSMS and continue using the server normally.
Autor: Rafał Kraik