有没有一种方法可以让我知道用户(不是登录名)是否已在数据库中创建?我的意思是用户而不是登录,因为我知道如何检查登录。我需要检查在特定数据库中创建的用户以及分配给它的角色。
这是检查登录的代码:
SELECT name FROM sys.server_principals WHERE name = 'test_user'
但是用户呢?因为我需要创建用户并为其分配角色(如果未创建)。否则,我将继续不创建。
谢谢
最佳答案
怎么样:
USE (your database you want to check the user's existence in)
SELECT *
FROM sys.database_principals
WHERE name = '(your user name to check here)'
sys.server_principals
显示在服务器级别定义的登录名 - sys.database_principals
显示数据库级别的主体(例如用户帐户)。
关于sql - 如何在 SQL 中检查 USER 是否已在数据库中创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6722540/