我想授予用户访问具有读和写访问权限的特定数据库.用户已经在域中可用,但不在数据库中.
那么,如何创建一个新的用户和密码呢?
有人告诉我,只能指定用户,域&您希望给用户访问的数据库,而无需创建新的用户和密码.
这是我正在实施的旧方式.它工作,但它创建一个新的登录和用户,而不是使用域中可用的:
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;
解决方法
这是一个两步的过程:
>您需要根据其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)'