我需要分配使用sys.database_mirroring的权限,当然,我希望给出最小的权限。当我看microsofts的主页时,它说:
若要查看主数据库或tempdb以外的数据库的行,您必须要么是数据库所有者,要么至少拥有任何数据库或查看任何数据库服务器级权限,或者在主数据库中创建数据库权限。若要在镜像数据库上查看非空值,您必须是sysadmin固定服务器角色的成员。
在测试服务器上试用之后,我不知道最后一句是什么意思。有人知道在哪种情况下需要sysadmin特权吗?
发布于 2015-09-18 17:07:20
注释:“要在镜像数据库上查看非空值,您必须是sysadmin固定服务器角色的成员”在讨论sys.database_mirroring动态管理视图时可以找到:
https://msdn.microsoft.com/en-us/library/ms178655.aspx
尝试运行以下语句:
select * from sys.database_mirroring 使用我的sysadmin帐户,我可以为每个数据库获得一行。大多数行都是空的,因为它们不是镜像数据库,但是这两个镜像报告它们的状态。如果只想检查运行中的镜像,可以使用:
select * from sys.database_mirroring
where mirroring_guid is not null用我的非系统管理员帐户,我什么也得不到。没有返回,没有ROWCOUNT,等等,只是一个延迟的‘叮’的声音。
所以,这张便条只是想告诉你,当你没有得到任何信息时,不要感到惊讶。(也许除了“叮叮”的声音。)
https://dba.stackexchange.com/questions/115468
复制相似问题