早上好,
我已连接到我的SQL Server 2005 - 并已设法列出该服务器上的所有数据库。现在我想对每个数据库进行检查,看看我是否有权查看该数据库..
我该怎么做?
非常感谢, 乔尔
答案 0 :(得分:1)
查看数据库是什么意思?!
您可以使用以下查询列出当前数据库的所有权限:
SELECT * FROM fn_my_permissions (NULL, 'DATABASE');
答案 1 :(得分:0)
首先,您需要找出数据库服务器中的所有名称:
SELECT [name]
FROM sys.databases;
然后,您必须为每个数据库运行以下命令才能获得权限:
USE databaseName;
SELECT *
FROM fn_my_permissions(null, 'DATABASE')
答案 2 :(得分:0)
我想你想看sys.database_permissions
,我认为你可以查询这些信息。
有关详细信息,请参阅此处:
http://msdn.microsoft.com/en-us/library/ms188367.aspx
答案 3 :(得分:0)
正如neslekkiM在不同答案的评论中指出的那样,在查找数据库列表时可以使用此内联:
SELECT name, has_dbaccess(name)
FROM sys.databases