SQL Server检查您是否有权访问数据库

时间:2010-05-27 07:34:50

标签: sql-server-2005

早上好,

我已连接到我的SQL Server 2005 - 并已设法列出该服务器上的所有数据库。现在我想对每个数据库进行检查,看看我是否有权查看该数据库..

我该怎么做?

非常感谢, 乔尔

4 个答案:

答案 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