使用 PowerShell 更新現有同步群組中的同步結構描述
適用於:Azure SQL 資料庫
重要
SQL 資料同步將於 2027 年 9 月 30 日淘汰。 請考慮移轉至替代資料複寫/同步處理解決方案。
此 Azure PowerShell 範例會更新現有 SQL 資料同步同步群組中的同步結構描述。 當您同步多個資料表時,此指令碼可協助您有效率地更新同步結構描述。 此範例示範如何使用在 GitHub 上作為 UpdateSyncSchema.ps1 提供的 UpdateSyncSchema 指令碼。
如果您沒有 Azure 訂用帳戶,請在開始之前,先建立 Azure 免費帳戶。
注意
本文使用 Azure Az PowerShell 模組,這是與 Azure 互動時建議使用的 PowerShell 模組。 若要開始使用 Az PowerShell 模組,請參閱安裝 Azure PowerShell。 若要瞭解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az。
使用 Azure Cloud Shell
Azure Cloud Shell 是裝載於 Azure 中的互動式殼層環境,可在瀏覽器中使用。 您可以使用 Bash 或 PowerShell 搭配 Cloud Shell,與 Azure 服務共同使用。 您可以使用 Cloud Shell 預先安裝的命令,執行本文提到的程式碼,而不必在本機環境上安裝任何工具。
要啟動 Azure Cloud Shell:
選項 | 範例/連結 |
---|---|
選取程式碼區塊右上角的 [試用]。 選取 [試用] 並不會自動將程式碼複製到 Cloud Shell 中。 | |
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 | |
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 |
若要在 Azure Cloud Shell 中執行本文中的程式碼:
啟動 Cloud Shell。
選取程式碼區塊上的 [複製] 按鈕,複製程式碼。
透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼貼到 Cloud Shell 工作階段中。
選取 Enter 鍵執行程式碼。
如果選擇在本機安裝並使用 PowerShell,此教學課程需要 Az PowerShell 1.4.0 或更新版本。 如果您需要升級,請參閱安裝 Azure PowerShell 模組。 如果您在本機執行 PowerShell,則也需要執行 Connect-AzAccount
以建立與 Azure 的連線。
如需 SQL 資料同步的概觀,請參閱什麼是適用於 Azure 的 SQL 資料同步?
SQL 資料同步不支援 Azure SQL 受控執行個體或 Azure Synapse Analytics。
範例
新增所有資料表至同步結構描述
下列範例會重新整理資料庫結構描述,並將中樞資料庫中的所有有效資料表新增至同步結構描述。
UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
-SyncGroupName <syncGroupName> -RefreshDatabaseSchema $true -AddAllTables $true
新增和移除資料表和資料行
下列範例會將 [dbo].[Table1]
和 [dbo].[Table2].[Column1]
新增至同步結構描述,並移除 [dbo].[Table3]
。
UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
-SyncGroupName <syncGroupName> -TablesAndColumnsToAdd "[dbo].[Table1],[dbo].[Table2].[Column1]" -TablesAndColumnsToRemove "[dbo].[Table3]"
指令碼參數
UpdateSyncSchema 指令碼具有下列參數:
參數 | 注意 |
---|---|
$subscriptionId | 建立同步群組的訂用帳戶。 |
$resourceGroupName | 建立同步群組的資源群組。 |
$serverName | 中樞資料庫的伺服器名稱。 |
$databaseName | 中樞資料庫名稱。 |
$syncGroupName | 同步群組名稱。 |
$memberName | 如果您想要從同步成員載入資料庫結構描述,而不是從中樞資料庫載入,請指定成員名稱。 如果您想要從中樞載入資料庫結構描述,請將此參數保留空白。 |
$timeoutInSeconds | 指令碼重新整理資料庫結構描述時逾時。 預設值為 900 秒。 |
$refreshDatabaseSchema | 指定指令碼是否需要重新整理資料庫結構描述。 如果您的資料庫結構描述已從先前的設定變更 (例如,如果您新增了新的資料表或新的資料行),則需要重新整理然後重新設定結構描述。 預設為 False。 |
$addAllTables | 如果此值為 true,則所有有效的資料表和資料行都會新增至同步結構描述。 會忽略 $TablesAndColumnsToAdd 和 $TablesAndColumnsToRemove 的值。 |
$tablesAndColumnsToAdd | 指定將新增至同步結構描述的資料表或資料行。 每個資料表或資料行名稱都必須以結構描述名稱完整分隔。 例如:[dbo].[Table1] 、[dbo].[Table2].[Column1] 。 可以指定多個資料表或資料行名稱,並以逗號 (,) 分隔。 |
$tablesAndColumnsToRemove | 指定要從同步結構描述中移除的資料表或資料行。 每個資料表或資料行名稱都必須以結構描述名稱完整分隔。 例如:[dbo].[Table1] 、[dbo].[Table2].[Column1] 。 可以指定多個資料表或資料行名稱,並以逗號 (,) 分隔。 |
指令碼說明
UpdateSyncSchema 指令碼會使用下列命令。 下表中的每個命令都會連結至命令特定的文件。
Command | 注意 |
---|---|
Get-AzSqlSyncGroup | 傳回同步群組的相關資訊。 |
Update-AzSqlSyncGroup | 更新同步群組。 |
Get-AzSqlSyncMember | 傳回同步成員的相關資訊。 |
Get-AzSqlSyncSchema | 傳回同步結構描述的相關資訊。 |
Update-AzSqlSyncSchema | 更新同步結構描述。 |
相關內容
如需有關 Azure PowerShell 的詳細資訊,請參閱 Azure PowerShell 文件。
其他的 SQL Database PowerShell 指令碼範例可於 Azure SQL 資料庫 PowerShell 指令碼中找到。
如需有關 SQL 資料同步的詳細資訊,請參閱:
- 概觀 - 在 Azure 中使用 SQL 資料同步來同步 Azure SQL 資料庫與 SQL Server 的資料
- 設定資料同步
- Data Sync Agent - 適用於 Azure 中 SQL 資料同步的 Data Sync Agent
- 最佳做法 - Azure 中 SQL 資料同步的最佳做法
- 監視 - 使用 Azure 監視器記錄監視 SQL 資料同步
- 疑難排解 - 對 Azure 中的 SQL 資料同步問題進行疑難排解
- 更新同步結構描述
- 使用 Transact-SQL - 在 Azure 中的 SQL 資料同步中自動執行結構描述變更複寫
如需有關 SQL Database 的詳細資訊,請參閱: