如果用户不存在,我想在数据库’mydb’中创建一个用户’foo’。目前我的脚本看起来像这样:
USE [mydb] CREATE USER [foo] FOR LOGIN [foo] GO
Msg 15023,Level 16,State 1,Line 2 User,group,or role 'jsrvpp' already exists in the current database.
谢谢!
解决方法
您可以参考两个系统目录sys.server_principals来检查数据库用户的特定数据库中的服务器登录名或sys.database_principals:
use myDB GO if not exists(select * from sys.database_principals where name = 'foo') -- create your database user if not exists(select * from sys.server_principals where name = 'foo') -- you need to create a server login first
渣子