azure - 如何检查 Azure Sql Server 服务器主体(登录)是否已存在
问题描述
我正在使用 ARM 模板在 Azure 上实例化一个新的 Sql Server 资源,作为设置的一部分,我需要创建一些用户登录。
似乎 ARM 模板不提供创建新用户主体的选项,因此我正在考虑运行 SQL 命令来执行此操作:
使用密码创建登录 = ''
使用这个命令的问题是,如果用户已经存在,它就会失败,因此它不是幂等的,这是我们需要的。
如何检查 Azure SQL Server 上是否已存在登录名?
解决方案
以下脚本将在逻辑 Azure SQL 服务器级别的主数据库上创建登录。
IF NOT EXISTS (SELECT * FROM sys.sql_logins WHERE name = 'simonel')
CREATE LOGIN simonel WITH PASSWORD = 'BS#ah12!!@#'
ELSE
PRINT 'Already exist'
如果用户尚不存在,则以下 acript 将在数据库级别创建用户。
IF NOT EXISTS (SELECT * FROM sys.sysusers WHERE name='simonel')
CREATE USER simonel FOR LOGIN Blah WITH DEFAULT_SCHEMA = dbo
ELSE
PRINT 'Already exists'
推荐阅读
- android - 在我的 android 应用程序中使用的共享本地存储
- postgresql - Travis-CI 和 PostgreSQL:psql:错误:无法连接到服务器:没有这样的文件或目录
- google-apps-script - 由于 30 秒的配额,OnEdit() 不会遍历所有指定的工作表
- optimization - k-旅行修理工问题,多个修理工访问同一个工作降低服务时间
- python - 同时更新多个项目中的 Python 解释器
- android - Android Studio 4.2:无法生成 Java Doc 注释
- c++ - std::map 擦除保留迭代器
- epub - 在 Epub.js 上使用再现显示时展开对发生变化
- scala - What does the number after the ShuffledRDD['number'] indicates?
- node.js - Unable to create a signed url using AWS and with IRSA enabled on kubernetes pods