删除未映射到数据库用户的 SQL 2005 上的安全->登录?

删除未映射到数据库用户的 SQL 2005 上的安全->登录?

在我的演示环境中,我处理了很多 SQL 数据库。每个数据库都有很多用户,这些用户链接到服务器上单独的“安全”->“登录”。

随着时间的推移,我不断得到许多(例如数百个)孤立的安全->登录,它们没有链接到任何数据库中的任何用户。

是否有任何 SQL 语句可以运行来删除未使用的登录名 - 即没有映射到数据库用户的登录名?

答案1

我建议构建一个选择语句,将各个数据库 sysusers 表与 master..sysxlogins 绑定在一起。

您想要探索的一些系统过程是 sp_MShasdbaccess 和 sp_validatelogins。

答案2

使用 sp_droplogin(或 Management Studio)

您的问题是否有潜台词,即如何仅删除未链接到数据库用户的登录名?如果是的话,我认为(尽管我会尝试以确保)sp_droplogin 将仅删除未映射到数据库用户的登录名,如果已映射,则会失败。

JR

相关内容