В SQL Server 2005 как можно использовать переменную для имени пользователя для разрешений GRANT или DENY для объектов, входящих в базу данных? Я пробовал:
DECLARE @username varchar(30)
SET @username = 'DOMAIN\UserName'
GRANT SELECT ON [mytable] TO @username
GRANT UPDATE([field one], [field two], [field three]) ON [mytable] TO @username
Я получаю Incorrect syntax near '@username'
, поэтому я завернул его в [и]
GRANT SELECT ON [mytable] TO [@username]
Однако тогда это приводит к Cannot find the user '@username', because it does not exist or you do not have permission
. Как я могу сделать это без необходимости вводить имя пользователя для каждого оператора? Я хочу сделать это, чтобы уменьшить вероятность опечаток (что может привести к тому, что неправильный пользователь получит права доступа)