如何在不通过GUI的情况下,使用适当的SQL命令将Windows用户账户添加到SQL Server 2008数据库的权限中?例如,我想给某人读取权限,另一个人则有读取和写入权限。
如何在不通过GUI的情况下,使用适当的SQL命令将Windows用户账户添加到SQL Server 2008数据库的权限中?例如,我想给某人读取权限,另一个人则有读取和写入权限。
这是一个两步骤的过程:
首先,您需要基于 Windows 凭据为该用户创建一个登录账号
CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS
这是设置连接到您的SQL Server的基本权限。
一旦您拥有一个登录名,您可以在每个想要授予该登录名某些权限的数据库中创建一个用户:
CREATE USER Johnnie FOR LOGIN Domain\Johnnie;
为了在你的数据库中授予读取权限,将db_datareader
角色指派给该用户。
sp_addrolemember @rolename = 'db_datareader', @membername = 'Johnnie'
要授予用户对数据库中每个表的读写权限,需要将db_datareader
和db_datawriter
角色都分配给该用户。
如果您需要更精细的控制哪些表可以进行读写操作,您需要手动管理权限,例如创建自己的数据库角色并向这些角色分配授权,然后将用户添加到您创建的这些应用特定角色中。