如何授予用户对SQL Server中数据库的读取权限?
我想授予用户对具有读写权限的特定数据库的访问权限。该用户已在域中可用,但在数据库中不可用 那么,我如何通过创建新用户和密码来授予他们访问权限 有人告诉我,只需指定用户、域和要授予用户访问权限的数据库,而无需创建新用户和密码,就可以完成此操作 这是我执行的旧方法。它可以工作,但会创建新的登录名和用户,而不是使用域中可用的登录名和用户:如何授予用户对SQL Server中数据库的读取权限?,sql,sql-server,security,tsql,ssms,Sql,Sql Server,Security,Tsql,Ssms,我想授予用户对具有读写权限的特定数据库的访问权限。该用户已在域中可用,但在数据库中不可用 那么,我如何通过创建新用户和密码来授予他们访问权限 有人告诉我,只需指定用户、域和要授予用户访问权限的数据库,而无需创建新用户和密码,就可以完成此操作 这是我执行的旧方法。它可以工作,但会创建新的登录名和用户,而不是使用域中可用的登录名和用户: use DBName; create login a_2 with password='Aa123'; create user a_2 for login a_2;
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;
这是一个分为两步的过程:
CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS;
db_datareader
数据库角色以读取所有表
USE (your database)
EXEC sp_addrolemember 'db_datareader', '(your user name)'
不幸的是,我无法基于windows帐户创建登录名。因为,用户的帐户仅在域上可用,而在windows帐户上不可用。。。所以,当我使用“来自windows”时,它说-->“未找到windows NT用户或组'aa.us\bb'。请再次检查名称。“!!!它看不见它。。。那么,有没有办法让它在域中而不是在windows帐户中查看??注意:别担心,我自己写域名(登录名;)非常感谢;)别介意“马克”。。。我解决了这个问题。。。我发现我把域名写错了,现在它可以工作了:)非常感谢;)当我忘记“创建登录用户”时,我总是在这里结束!!;)+1
USE (your database)
EXEC sp_addrolemember 'db_datareader', '(your user name)'