Agregue el usuario administrador actual a SQL Server Express 2008

Agregue el usuario administrador actual a SQL Server Express 2008

He logrado (en 'experimentos') eliminar a mis dos usuarios de Windows de mi instancia de SQL Express. Ahora he iniciado sesión como administrador de Windows y he vuelto a crear el inicio de sesión SQL correspondiente, pero no puedo asignar derechos de administrador del sistema. Recibo el error:

El usuario no tiene permiso para realizar esta acción. (Microsoft SQL Server, error: 15247)

Si el administrador no puede hacer esto, ¿debería empezar a buscar un animal pequeño para sacrificar?

Respuesta1

Es posible que su cuenta de administrador de Windows no tenga derechos de administrador; depende de lo que haya configurado. Deberá iniciar sesión con una cuenta que tenga derechos o iniciar sesión como usuario sa.

Si no tiene habilitada la autenticación SQL, puede activarla con un ajuste de registro. Creo que esta es la clave correcta:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<<instance name>>\MSSQLServer\Loginmode

Debe configurarse en modo mixto (2) pero, por supuesto, aún necesita saber cuál era la contraseña sa cuando instaló la instancia.

Respuesta2

Hay una secuencia de comandos en CodePlex que automatiza la recuperación tras la pérdida de derechos de administrador de sistemas en su instancia local de SQL Server, siempre que tenga acceso a una cuenta de administrador de Windows:

http://code.msdn.microsoft.com/addselftosqlsysadmin/

Respuesta3

Actualice los permisos de inicio del servicio de la instancia de SQL Server para incluir '-m' o -m"Microsoft SQL Server Management Studio - Consulta" si prefiere usar SSMS en lugar de sqlcmd/osql.

Luego use este comando para conectarse a través de una línea de comando:

sqlcmd -E -S HOSTNAME\INSTANCENAME

O conéctese a través de SSMS con:

\\.\pipe\hostname\instancename\sql\query

Y use esto para agregar su inicio de sesión y rol:

CREATE LOGIN [domain\username] FROM WINDOWS;
GO
EXEC sp_addsrvrolemember 'domain\username', 'sysadmin';
GO

Luego, puede eliminar las opciones '-m' en el servicio e iniciarlo normalmente.

Verhttp://msdn.microsoft.com/en-us/library/ms188236.aspxpara detalles.

información relacionada