You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用New-AzSqlSyncMember PowerShell命令时遇BadRequest错误求助

解决New-AzSqlSyncMember跨租户配置时的BadRequest错误

核心问题排查与修复步骤

1. 修正MemberDatabaseType参数错误

你当前指定的MemberDatabaseType为SqlServerDatabase,该参数适用于本地SQL Server实例;如果目标数据库是Azure SQL DB,必须改为AzureSqlDatabase,这是触发BadRequest的常见原因。

修正后的命令参数:

-MemberDatabaseType "AzureSqlDatabase"

2. 跨租户权限验证

跨租户配置同步时,当前使用的Azure身份(通过$DefaultProfile指定)需要同时具备以下权限:

  • 源租户:同步组所在资源组的SQL Sync Contributor或更高权限
  • 目标租户:目标数据库所在资源组的SQL DB Contributor权限,或目标数据库的db_owner角色

操作步骤:

  • 切换到目标租户上下文(如果未切换):
    Connect-AzAccount -TenantId <目标租户ID>
    
  • 检查目标租户是否注册了Microsoft.Sql资源提供者:
    Get-AzResourceProvider -ProviderNamespace Microsoft.Sql
    
    若RegistrationState为NotRegistered,执行注册:
    Register-AzResourceProvider -ProviderNamespace Microsoft.Sql
    

3. 防火墙与网络配置检查

确保源SQL Server的出站IP能访问目标数据库:

  • 在Azure门户中找到源SQL Server的出站IP地址(路径:SQL Server → 网络 → 出站IP地址)
  • 将这些IP添加到目标SQL Server的防火墙规则中(路径:目标SQL Server → 网络 → 防火墙规则)
  • 若使用VNet集成,需配置源与目标VNet的对等连接,或启用SQL服务端点

4. 同步组与资源ID验证

  • 确认SyncGroupName指定的同步组已在源数据库中正常创建
  • 核对SyncMemberAzureDatabaseResourceId的正确性:确保订阅ID、资源组、服务器名称、数据库名称与目标租户中的资源完全匹配

修正后的完整命令示例

New-AzSqlSyncMember -Name "datamigrationtest" -MemberDatabaseType "AzureSqlDatabase" -MemberServerName "datamigrationtest" -MemberDatabaseName "AutomationTest_Copy" -SyncDirection "Bidirectional" -SyncMemberAzureDatabaseResourceId "/subscriptions/xxxxx/resourceGroups/zzzzz/providers/Microsoft.Sql/servers/datamigrationtest/databases/AutomationTest_Copy" -SyncGroupName "automationmigrationtest" -ServerName "automation-qa" -DatabaseName "AutomationTest" -ResourceGroupName "yyyy" -DefaultProfile $DefaultProfile

内容的提问来源于stack exchange,提问作者user22067338

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 13:26:12