2010-03-03 95 views
2

作为创建工具以查询与我们工作区域中的用户相关的各种权限的工具的一部分,我需要查询一些关于我们的数据库服务器这些服务器运行SQL Server 2005(包括Analysis Services 2005的实例)。 我需要能够找到一个给定服务器:使用Perl(或PHP)在MS SQL Server 2005和Analysis Services上列出权限/角色

  • 登录该服务器
  • 角色该服务器
  • 什么每个角色都有权利对名单上的列表
  • 是谁在每个角色(或每个登录,它属于哪个角色 - 任何一种方式)

该应用程序目前用Perl编写,所以如果你知道使用Perl查询这些信息的技术, WO我非常感谢。 我可以使用的唯一其他应用程序语言是PHP,但是如果可能的话,为了一致性原因应该避免使用它。

回答

0

我对SSAS知之甚少,所以我会将这部分问题留给有相应经验的人。

对于1,2和4,您应该可以使用system stored procs sp_helplogins,sp_helprole和sp_helprolemember。您还可以从视图sys.database_role_members获取角色成员资格。至于用户/角色可以访问的内容,视图sys.database_permissions包含该数据。不需要perl特定的方法,只需使用普通的select和exec语句即可。

阅读系统视图,系统表和系统存储过程的Books Online条目可能需要花费几分钟时间,这些条目将以各种形式返回所需的数据。

相关问题