我想授予用户访问具有读写访问权限的特定数据库的权限。用户已在域中可用,但不在DB中。
那么,如何通过创建新用户和密码为他们提供访问权限?
有人告诉我,只需指定用户,域和放大器即可完成。您希望为用户提供访问权限的数据库,而无需创建新用户和密码。
这是我实施的旧方法。它可以工作,但它创建了一个新的登录和用户,而不是使用域中可用的那个:
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;
答案 0 :(得分:68)
这是一个两步过程:
您需要根据其Windows帐户为该用户创建登录到SQL Server
CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS;
您需要授予此登录权限才能访问数据库:
USE (your database)
CREATE USER (username) FOR LOGIN (your login name)
在数据库中拥有该用户后,您可以为其提供所需的任何权限,例如:您可以为其分配db_datareader
数据库角色以读取所有表。
USE (your database)
EXEC sp_addrolemember 'db_datareader', '(your user name)'