Sql server SQLServer(2000和2005)查询安全/角色信息

Sql server SQLServer(2000和2005)查询安全/角色信息,sql-server,security,Sql Server,Security,我需要一个查询来显示有关SQLServer 2000和SQLServer 2005数据库中的用户、角色和权限的信息。登录信息如下: SQL Server 2000: 从master.dbo.syslogins中选择* SQL Server 2005: 从master.sys.logins中选择* 每个当前数据库的用户数: SQL Server 2000: 从dbo.sysusers中选择* SQL Server 2005: 从sys.users中选择* 发件人: 如何查找指定文档中包含的实体的所

我需要一个查询来显示有关SQLServer 2000和SQLServer 2005数据库中的用户、角色和权限的信息。

登录信息如下:

SQL Server 2000: 从master.dbo.syslogins中选择*

SQL Server 2005: 从master.sys.logins中选择*

每个当前数据库的用户数:

SQL Server 2000: 从dbo.sysusers中选择*

SQL Server 2005: 从sys.users中选择*

发件人:

如何查找指定文档中包含的实体的所有所有者 模式?[在运行以下命令之前 查询、替换和删除 使用有效名称]

USE <database_name>;
GO
SELECT 'OBJECT' AS entity_type
    ,USER_NAME(OBJECTPROPERTY(object_id, 'OwnerId')) AS owner_name
    ,name 
FROM sys.objects WHERE SCHEMA_NAME(schema_id) = '<schema_name>'
UNION 
SELECT 'TYPE' AS entity_type
    ,USER_NAME(TYPEPROPERTY(SCHEMA_NAME(schema_id) + '.' + name, 'OwnerId')) AS owner_name
    ,name 
FROM sys.types WHERE SCHEMA_NAME(schema_id) = '<schema_name>' 
UNION
SELECT 'XML SCHEMA COLLECTION' AS entity_type 
    ,COALESCE(USER_NAME(xsc.principal_id),USER_NAME(s.principal_id)) AS owner_name
    ,xsc.name 
FROM sys.xml_schema_collections AS xsc JOIN sys.schemas AS s
    ON s.schema_id = xsc.schema_id
WHERE s.name = '<schema_name>';
GO