usuarios usuario una sobre seguridad permisos listar datos dar sql-server sql-server-2008 active-directory grant

sql server - una - Sintaxis GRANT para dominio / usuario



sql server seguridad usuarios (2)

Estoy tratando de dar acceso a un usuario de directorio activo a solo una tabla específica. Quiero que puedan insertar, actualizar, eliminar, etc. pero solo para esa tabla. Conozco este comando:

GRANT Insert, Select on Tablename to user

Pero no puedo averiguar cómo hacer que "dominio / usuario" funcione sintaxis. Lo intenté:

GRANT Insert, Select on Tablename to domain/user

Pero me sale:

Msg 102, Nivel 15, Estado 1
Sintaxis incorrecta cerca ''/'.


Es una buena práctica crear un rol y agregar usuarios a ese rol. Luego otorga permisos a ese rol.

USE database_name GO --1)create role CREATE ROLE role_name GO --2 create user IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N''domain/user'') BEGIN CREATE USER [domain/user] FOR LOGIN [domain/user] END; GO -- 3 Add user to the role ALTER ROLE [role_name] ADD MEMBER [domain/user] GO --4 Grant permissions to the role GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.Tablename TO [role_name];


Suponiendo que ha creado un usuario en esta base de datos asociado con el inicio de sesión de AD, por ejemplo,

CREATE LOGIN [domain/user] FROM WINDOWS; GO USE your_database; GO CREATE USER [domain/user] FROM LOGIN [domain/user]; GO

Entonces simplemente tienes que seguir la misma sintaxis. Debido a que / no es un carácter estándar para un identificador, debe escapar del nombre con [square brackets] :

GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.Tablename TO [domain/user];