En este artículo muestro la manera en que puedes recuperar el acceso a tu servidor de SQL Server 2008 R2 en caso de no tener una cuenta de administrador. Esto aplica para SQL Server 2008 y Windows Server 2008 R2 Standard
Antes que nada, debes tener acceso al servidor con una cuenta de administrador y detener los servicios de SQL Server.
Ya que nos encontramos firmados al servidor debemos abrir la consola de comandos (Command Prompt) como Administrador (Run as administrator) e iniciar la base de datos en modo single user o con mínima configuración que también lo coloca en single user
sqlserver.exe -m
o
sqlserver.exe -f
Nota: Si no esta binn dentro de nuestras variables de ambiente, entonces se debe colocar la ruta completa, que generalmente es
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\sqlserver.exe
Cuando ya inicio la instancia en modo single user, podemos iniciar sesión con SQLCMD
SQLCMD -S
De esta manera habremos iniciado sesión como administrador, y solo resta añadir una cuenta de administrador.
CREATE LOGIN [Domain\User] FROM WINDOWS;
Si es cuenta de SQL Server
CREATE LOGIN [LoginName] WITH PASSWORD = 'SomePassword';
EXEC sp_addsrvrolemember 'LoginName', 'sysadmin';
Existe otra manera más sencilla, pero para esto debemos de tener corriendo el servicio de SQL Server con LocalSystem.
En este caso abrimos nuevamente la consola de comandos (command Prompt) y ejecutamos:
psexec -s -i ssms.exe
Esto nos va a abrir el SQL Server Management Studio pero firmados como NT AUTHORITY\SYSTEM con lo que ya podemos iniciar sesión y dar de alta la cuenta de administrador que requerimos.