我只是想向我的数据库中的用户授予/拒绝安全对象。例如,这是我的撤销声明之一
使用我的数据库;从 [用户名] 撤消 ALTER;去
当我使用 SELECT FROM MyDB.sys.database_permissions 查看权限时,它说用户仍然拥有权限。您如何实际撤销许可?
我只是想向我的数据库中的用户授予/拒绝安全对象。例如,这是我的撤销声明之一
使用我的数据库;从 [用户名] 撤消 ALTER;去
当我使用 SELECT FROM MyDB.sys.database_permissions 查看权限时,它说用户仍然拥有权限。您如何实际撤销许可?
如果用户具有包括特定安全对象的更广泛的权限,并且您revoke
对该安全对象具有更窄的权限,则用户仍将拥有grant
更广泛的权限grant
。
如果您想要对范围广泛的授权进行例外处理,您可能需要考虑 a deny
on a securable。
编辑:
鉴于您的 SQL:
USE MY_DB; REVOKE ALTER FROM [UserName]; GO
...您需要指定ALTER
要撤销的安全权限:ALTER ENDPOINT
或ALTER LOGIN
有关 ALTER 权限的适用性,请参见此处,例如:
REVOKE ALTER LOGIN FROM [UserName]