【发布时间】:2011-02-24 13:04:04
【问题描述】:
早安,
我已连接到我的 SQL Server 2005 - 并设法列出了该服务器上的所有数据库。现在我想对每个数据库进行检查,看看我是否有权查看该数据库..
我该怎么办?
非常感谢, 乔尔
【问题讨论】:
标签: sql-server-2005
早安,
我已连接到我的 SQL Server 2005 - 并设法列出了该服务器上的所有数据库。现在我想对每个数据库进行检查,看看我是否有权查看该数据库..
我该怎么办?
非常感谢, 乔尔
【问题讨论】:
标签: sql-server-2005
正如 neslekkiM 在不同答案的 cmets 中指出的那样,您可以在查找数据库列表时使用此内联:
SELECT name, has_dbaccess(name)
FROM sys.databases
【讨论】:
首先,您需要找出数据库服务器中的所有名称:
SELECT [name]
FROM sys.databases;
然后,您必须为每个数据库运行以下命令才能获得权限:
USE databaseName;
SELECT *
FROM fn_my_permissions(null, 'DATABASE')
【讨论】:
我认为您想查看sys.database_permissions,我认为您可以在其中查询此信息。
查看这里了解更多信息:
http://msdn.microsoft.com/en-us/library/ms188367.aspx
【讨论】:
查看数据库是什么意思?!
您可以使用以下查询列出当前数据库的所有权限:
SELECT * FROM fn_my_permissions (NULL, 'DATABASE');
【讨论】: