自动创建 Azure SQL 数据库并添加数据库用户
Automate Azure SQL database creation and add a database user
我正在配置一个管道来为一个应用程序部署一个测试环境,连同应用程序服务和存储还有一个 SQL 数据库。我已经在 azure 中自动创建了所有这些并且正在工作。
测试完成后,销毁环境以节省资源,直到需要进行新的测试。
现在我需要在部署时向测试数据库添加一个 SQL 用户,它在同一台服务器上,以简化已经存在的登录,所以我想将其分配给新数据库。
类似这样。
Server1 已有 user1 作为登录名(手动创建)
数据库 1 已有 user1 作为用户(手动分配)
期望:
- 将用户 1 添加为数据库 2 的用户
有没有办法在构建测试环境时自动执行此操作?
提前致谢。
您可以选择 IF NOT EXISTS 并相应地创建登录名和用户。
IF NOT EXISTS(SELECT name
FROM [sys].[server_principals]
WHERE name = N'test')
BEGIN
CREATE LOGIN test WITH password = 'TestPassword'
END
IF NOT EXISTS(SELECT name
FROM [sys].[database_principals]
WHERE name = N'test')
BEGIN
CREATE USER test for login test;
END
我正在配置一个管道来为一个应用程序部署一个测试环境,连同应用程序服务和存储还有一个 SQL 数据库。我已经在 azure 中自动创建了所有这些并且正在工作。
测试完成后,销毁环境以节省资源,直到需要进行新的测试。
现在我需要在部署时向测试数据库添加一个 SQL 用户,它在同一台服务器上,以简化已经存在的登录,所以我想将其分配给新数据库。
类似这样。
Server1 已有 user1 作为登录名(手动创建)
数据库 1 已有 user1 作为用户(手动分配)
期望:
- 将用户 1 添加为数据库 2 的用户
有没有办法在构建测试环境时自动执行此操作?
提前致谢。
您可以选择 IF NOT EXISTS 并相应地创建登录名和用户。
IF NOT EXISTS(SELECT name
FROM [sys].[server_principals]
WHERE name = N'test')
BEGIN
CREATE LOGIN test WITH password = 'TestPassword'
END
IF NOT EXISTS(SELECT name
FROM [sys].[database_principals]
WHERE name = N'test')
BEGIN
CREATE USER test for login test;
END