我正在处理我的SQL部署脚本。
我有一个名为“User123”的登录,我已经添加到我当前的数据库,但我有一个存储过程将信息记录到MyDB,我需要MyDB的User123权限,所以我在MyDB上创建了一个具有权限的用户,但是如何我编写脚本而不是手动添加用户..
到目前为止,我有这个,但似乎无法弄清楚如何将其添加到其他数据库,“MyDB”可以硬编码,因为每个服务器上只有1个,但是我不能硬编码当前数据库im
上运行脚本IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'User123') BEGIN CREATE USER [User123] FOR LOGIN [User123] WITH DEFAULT_SCHEMA=[dbo] END GO
这只在当前数据库上运行,如何使其与其他数据库运行。
实施例..
MYDB
安全
User123
DB1
安全
User123
我想要一个脚本,将用户添加到当前数据库和“MyDB”,而无需手动切换数据库
答案 0 :(得分:2)
怎么样:
USE MyDB
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'User123')
BEGIN
CREATE USER [User123] FOR LOGIN [User123] WITH DEFAULT_SCHEMA=[dbo]
END
GO
USE DB1
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'User123')
BEGIN
CREATE USER [User123] FOR LOGIN [User123] WITH DEFAULT_SCHEMA=[dbo]
END
GO