【发布时间】:2011-02-13 03:13:54
【问题描述】:
什么是适当的 SQL 命令(不通过 GUI)将 Windows 用户帐户添加到 SQL Server 2008 数据库的权限?即..我想给某人读权限,给另一个人读/写..
【问题讨论】:
标签: sql-server permissions sql-server-express
什么是适当的 SQL 命令(不通过 GUI)将 Windows 用户帐户添加到 SQL Server 2008 数据库的权限?即..我想给某人读权限,给另一个人读/写..
【问题讨论】:
标签: sql-server permissions sql-server-express
这是一个两步过程:
首先,您需要为该用户创建一个登录,基于其 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 角色分配给该用户
如果您需要更细粒度地控制可以读取或写入哪些表,则需要手动管理权限,例如通过创建您自己的数据库角色并向这些角色分配授权,然后将您的用户添加到您创建的那些特定于应用程序的角色中
【讨论】: