报告有关孤立的 Microsoft® Windows NT® 用户和组的信息,这些用户和组已不在 Windows NT 环境中,但仍在 Microsoft SQL Server™ 系统表中拥有项。
sp_validatelogins
0(成功)或 1(失败)
列名 | 数据类型 | 描述 |
---|---|---|
SID | varbinary(85) | Windows NT 用户或组的 Windows NT 安全标识符。 |
NT Login | sysname | Windows NT 用户或组的名称。 |
孤立 Windows NT 用户和组在系统表中的条目只能用存储过程 sp_revokelogin 删除。如果该 Windows NT 用户或组在数据库中有用户帐户,可用存储过程 sp_revokedbaccess 将其删除。必须先删除数据库中的用户帐户,然后才能废除登录对 SQL Server 的连接访问权。
如果该 Windows NT 用户或组在数据库中拥有对象,那么必须删除这些对象,或者用存储过程 sp_changeobjectowner 将其所有权移交给另一用户。
只有 sysadmin 或 securityadmin 固定服务器角色的成员才能执行 sp_validatelogins。
下例显示已不存在但仍被授权连接到 SQL Server 的 Windows NT 用户和组。
EXEC sp_validatelogins
GO
SID NT Login
---------------------------------------------------------- -----------
0x0105000000000005150000007961275C521FE65395177650FC030000 dom\andrew
0x0105000000000005150000007961275C521FE65395177650FA030000 dom\joe
0x0105000000000005150000007961275C521FE65395177650FB030000 dom\margaret
0x0105000000000005150000007961275C521FE65395177650F3030000 dom\mike