如何使用Azure CLI创建用户并关联现有Azure SQL Server登录?
能否用Azure CLI创建Azure SQL数据库用户并关联/创建登录?
Azure CLI没有直接的单命令可以一步完成创建数据库用户+关联或创建SQL Server登录的操作——因为数据库用户属于数据库内部的权限对象,Azure CLI的az sql系列命令主要管服务器、数据库这类顶层资源,没法直接操作数据库内部的用户。不过可以通过Azure CLI间接实现,分两种场景:
场景1:关联已有的SQL Server登录到数据库用户
如果已经有现成的SQL Server登录,直接用Azure CLI调用az sql db execute-query执行你原来的T-SQL语句就行:
az sql db execute-query \ --resource-group <你的资源组名> \ --server <你的SQL服务器名> \ --name <你的数据库名> \ --query-text "CREATE USER <username> FOR LOGIN <login> WITH DEFAULT_SCHEMA = [dbo]; EXEC sp_addrolemember N'db_owner', N'<username>';"
场景2:先创建SQL Server登录,再建立关联的数据库用户
要是还没创建登录,可以分两步走:
先创建SQL Server登录:
- 用SQL身份验证创建登录:
az sql server create-login \ --resource-group <你的资源组名> \ --server-name <你的SQL服务器名> \ --login-name <登录名> \ --password <登录密码>- 用Azure AD用户/组创建登录:
az sql server ad-admin create \ --resource-group <你的资源组名> \ --server-name <你的SQL服务器名> \ --display-name <AD用户/组显示名> \ --object-id <AD用户/组的对象ID>再执行T-SQL创建数据库用户并添加角色(和场景1的命令一致):
az sql db execute-query \ --resource-group <你的资源组名> \ --server <你的SQL服务器名> \ --name <你的数据库名> \ --query-text "CREATE USER <username> FOR LOGIN <login> WITH DEFAULT_SCHEMA = [dbo]; EXEC sp_addrolemember N'db_owner', N'<username>';"
说白了,数据库用户的创建核心还是靠你原来的T-SQL语句,Azure CLI只是帮你远程执行这些语句,不用手动连数据库跑脚本而已。
内容的提问来源于stack exchange,提问作者H4p7ic
相关产品推荐
相关产品推荐

