2011-07-14 26 views
17

Quiero otorgar acceso a un usuario a una base de datos específica con acceso de lectura y escritura. El usuario ya está disponible en el dominio pero no en el DB.¿Cómo otorgo acceso de lectura para un usuario a una base de datos en SQL Server?

Entonces, ¿cómo puedo darles acceso con la creación de un nuevo usuario y contraseña?

Alguien me dijo que se puede hacer especificando solo el usuario, dominio & DB al que desea dar acceso al usuario sin necesidad de crear un nuevo usuario y contraseña.

Esta es la forma antigua que estaba implementando. Funciona pero crea un nuevo inicio de sesión y el usuario en lugar de utilizar el que está disponible en el dominio:

use DBName; 
create login a_2 with password='Aa123'; 
create user a_2 for login a_2; 
grant insert to a_2; 
grant select to a_2; 

Respuesta

47

Este es un proceso de dos pasos:

  1. lo necesario para crear un iniciar sesión a SQL Server para que el usuario, en función de su cuenta de Windows

    CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS; 
    
  2. que necesita para conceder este permiso de inicio de sesión para acceder a una base de datos:

    USE (your database) 
    CREATE USER (username) FOR LOGIN (your login name) 
    

vez que tenga ese usuario en su base de datos, que puede darle cualquier derecho que desea, por ejemplo, puede asignarle la función de base de datos db_datareader para leer todas las tablas.

USE (your database) 
EXEC sp_addrolemember 'db_datareader', '(your user name)' 
+0

unfortunatlly, no puedo v = crear el inicio de sesión basado en la cuenta de Windows. dado que la cuenta para el usuario solo está disponible en el dominio que no está disponible en la cuenta de Windows ... Entonces, cuando uso "desde Windows" decía que -> "usuario o grupo de Windows NT" aa.us \ bb 'no encontrado. Comprueba el nombre de nuevo. "!!! no puede verlo ... Entonces, ¿hay una manera de dejar que se vea en el dominio en lugar de en la cuenta de Windows? Nota: no se preocupe, escribo mi propio dominio y nombre de inicio de sesión;) Muchas gracias;) – Q8Y

+2

No importa 'marc_s' ... He resuelto el problema ... Me SEAM me writting el nombre de dominio mal, ahora está funcionando :) Muchas gracias;) – Q8Y

+2

Siempre termino aquí cuando me olvido de 'crear usuario para iniciar sesión'!;;) +1 –

Cuestiones relacionadas