如何在一段时间内阻止特定用户访问数据库,同时又不会丢失该用户对db对象的权限。
基本上,当他回来时(即当访问权限恢复时),他应该拥有他在访问被切断之前的所有权限。如果我使用sp_revokedbaccess ' myuser‘,用户myuser将失去他对db对象的所有权限。
有没有一种方法可以保留myuser的权限,而不求助于繁琐的备份权限和恢复权限之类的变通方法?
发布于 2009-08-12 03:40:00
想法:
之外的任何权限
发布于 2009-08-12 00:18:57
我看到的最简单的方法是禁用登录。您可以在状态页下的SSMS中的登录属性上执行此操作。
您可以使用以下T-SQL实现相同的功能:
假设您的登录名是bob sql登录名,但也可以是windows登录名。
ALTER LOGIN bob DISABLE
然后,要启用登录
ALTER LOGIN bob enable
发布于 2009-08-12 00:18:50
您应该能够显式地拒绝他的权限,然后撤销拒绝。
您也可以使用ALTER LOGIN ... DISABLE
禁用登录,但将在服务器级别而不是数据库级别阻止登录。
黑客的解决方案是将用户映射到不同的登录,然后将他映射回(ALTER USER .. LOGIN = ...
),但这是一种黑客,我甚至不确定是否能正确工作。
https://stackoverflow.com/questions/1263532
复制相似问题