如果用户不存在,我想在数据库’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
渣子