Respuestas:
Si lo estás haciendo a través de T-SQL:
Conceder a un inicio de sesión de Windows la capacidad de conectarse a SQL Server:
CREATE LOGIN [Domain\User] FROM WINDOWS;
o
CREATE LOGIN [Domain\Group] FROM WINDOWS;
Si el inicio de sesión basado en SQL Server:
CREATE LOGIN [LoginName] WITH PASSWORD = 'SomePassword';
Después de eso, puedes hacer una de dos cosas. Puede agregarlo a la membresía del rol fijo de servidor sysadmin usando sp_addsrvrolemember:
EXEC sp_addsrvrolemember 'LoginName', 'sysadmin';
o puede otorgar los permisos de inicio de sesión del SERVIDOR DE CONTROL:
GRANT CONTROL SERVER TO [LoginName];
Antes de eso, creo que debemos poder iniciar sesión en SQL Server primero. He experimentado ser administrador del servidor, pero no pude iniciar sesión ya que SQL Server fue instalado por una cuenta de administrador de dominio.
Por lo tanto, es posible que deba iniciar SQL Server con la opción de línea de comandos -m
(modo de usuario único),
sqlservr.exe -m
y luego haga lo que K. Brian Kelley dijo , o conéctese a través del estudio de administración, como lo sugirió Jeff (el inicio de sesión será exitoso)
Se pueden encontrar más instrucciones paso a paso en SQL Server 2008: ¿Se olvidó de agregar una cuenta de administrador?
Para completar, el método GUI
Desde SQL Server Management Studio, en la carpeta Seguridad / Inicios de sesión para la base de datos, haga clic con el botón derecho en Inicios de sesión y seleccione Nuevo inicio de sesión:
Asegúrese de utilizar el domain\username
formato completo en el campo Nombre de inicio de sesión y verifique la lista de Roles del servidor para asegurarse de que el usuario obtenga los roles que desea.
Hmm, hay dos cosas diferentes que esto podría significar.
Respuestas:
Como no había una respuesta completa para mí para resolver este problema, esto es lo que hice, para SQLServer 2014
-m
)sqlcmd -S <instance name> -E
Escriba lo siguiente en el shell
CREATE LOGIN [<DOMAIN>\<user>] FROM WINDOWS
go
exec sp_addsrvrolemember @loginame='<DOMAIN>\<user>', @rolename='sysadmin'
go
-m
)go
comandos; Estoy acostumbrado a SSMS, así que no pensé usarlo go
para enviar lotes desde el cliente de línea de comandos.