如何使用PowerShell执行Azure SQLDB指定的创建用户赋权SQL语句?
Azure SQL DB 配置App Service权限PowerShell脚本
前置要求
- 已安装Azure Az.Sql PowerShell模块,可执行
Install-Module -Name Az.Sql -Scope CurrentUser完成安装 - 本机公网IP已添加到Azure SQL服务器的入站防火墙白名单
- 已获取SQL服务器管理员账号密码、待授权App Service的准确名称
可直接使用的脚本
# 替换下方参数为你的实际环境值 $sqlServerFqdn = "<你的SQL服务器FQDN,例:demo-sqlsrv.database.windows.net>" $targetDbName = "<目标数据库名称>" $targetAppServiceName = "<你的App Service名称>" $sqlAdminAccount = "<SQL管理员账号>" $sqlAdminPwd = ConvertTo-SecureString "<SQL管理员密码>" -AsPlainText -Force $sqlCred = New-Object System.Management.Automation.PSCredential($sqlAdminAccount, $sqlAdminPwd) # 组装执行的SQL语句 $execSql = @" CREATE USER [$targetAppServiceName] FROM EXTERNAL PROVIDER; ALTER ROLE db_datareader ADD MEMBER [$targetAppServiceName]; ALTER ROLE db_datawriter ADD MEMBER [$targetAppServiceName]; "@ # 执行SQL命令 Invoke-SqlCmd -ServerInstance $sqlServerFqdn -Database $targetDbName -Credential $sqlCred -Query $execSql -ConnectionTimeout 30
注意事项
- 如果你使用AAD账号作为SQL管理员,替换Credential参数为AAD访问令牌参数即可正常执行
- 执行前请确认你的App Service已开启系统分配托管标识,否则创建外部提供者用户会失败
- 若执行报错提示用户已存在,可删除CREATE USER语句后重新执行赋权操作即可
内容的提问来源于stack exchange,提问作者niranjan reddy
相关产品推荐
相关产品推荐

