本文內容
適用於: Azure SQL 資料庫
本文提供設定和管理 Azure SQL 資料庫超大規模資料庫具名複本 的範例。
建立超大規模資料庫具名複本
下列範例案例會引導您使用 Azure 入口網站、T-SQL、PowerShell 或 Azure CLI 建立 WideWorldImporters_NamedReplica
資料庫的 WideWorldImporters
具名複本。
下列範例會使用 T-SQL建立 WideWorldImporters
資料庫的 WideWorldImporters_NamedReplica
具名複本。 主要複本會使用服務等級目標 HS_Gen5_4,具名複本則使用 HS_Gen5_2。 兩者都使用相同的邏輯伺服器名稱 contosoeast
。
在 Azure 入口網站 中,瀏覽至您想要建立具名複本的資料庫。
在 [SQL Database] 頁面上,選取您的資料庫,並捲動至 [資料管理],再選取 [複本],然後選取 [建立複本]。
選擇 [複本組態] 下的 [具名複本]。 選取現有的伺服器,或為具名複本建立新的伺服器。 輸入具名複本資料庫名稱,並視需要設定 [計算 + 儲存體] 選項。
選擇性地設定區域備援超大規模資料庫具名複本。 如需詳細資訊,請參閱<Azure SQL 資料庫超大規模資料庫具名複本的區域備援 >。
在 [設定資料庫] 頁面,為 [要將此資料庫設為區域備援嗎?] 選取 [是]
將至少一個高可用性次要複本新增至您的設定。
選取套用 。
選取 [檢閱 + 建立],並檢閱資訊,然後選取 [建立]。
具名複本部署程序隨即開始。
完成部署時,具名複本會顯示其狀態。
返回 [主要資料庫] 頁面,然後選取 [複本]。 您的具名複本會列在 [具名複本] 下方。
下列範例會使用 T-SQL建立 WideWorldImporters
資料庫的 WideWorldImporters_NamedReplica
具名複本。 主要複本會使用服務等級目標 HS_Gen5_4,具名複本則使用 HS_Gen5_2。 兩者都使用相同的邏輯伺服器名稱 contosoeast
。
ALTER DATABASE [WideWorldImporters]
ADD SECONDARY ON SERVER [contosoeast]
WITH (SERVICE_OBJECTIVE = 'HS_Gen5_2', SECONDARY_TYPE = Named, DATABASE_NAME = [WideWorldImporters_NamedReplica]);
下列範例會使用 PowerShell Cmdlet New-AzSqlDatabaseSecondary 建立 WideWorldImporters
資料庫的 WideWorldImporters_NamedReplica
具名複本。 主要複本會使用服務等級目標 HS_Gen5_4,具名複本則使用 HS_Gen5_2。 兩者都使用相同的邏輯伺服器名稱 contosoeast
。
New-AzSqlDatabaseSecondary -ResourceGroupName "MyResourceGroup" -ServerName "contosoeast" -DatabaseName "WideWorldImporters" -PartnerResourceGroupName "MyResourceGroup" -PartnerServerName "contosoeast" -PartnerDatabaseName "WideWorldImporters_NamedReplica" -SecondaryType Named -SecondaryServiceObjectiveName HS_Gen5_2
若要設定區域備援超大規模資料庫具名複本 ,您必須同時指定 –ZoneRedundant
和 -HighAvailabilityReplicaCount
,並輸入參數至 New-AzSqlDatabaseSecondary
。
New-AzSqlDatabaseSecondary -ResourceGroupName "MyResourceGroup" -ServerName "contosoeast" -DatabaseName "WideWorldImporters" -PartnerResourceGroupName "MyResourceGroup" -PartnerServerName "contosoeast" -PartnerDatabaseName "WideWorldImporters_NamedReplica" -SecondaryType Named -SecondaryServiceObjectiveName HS_Gen5_2 -HighAvailabilityReplicaCount 1 -ZoneRedundant
若要驗證是否已建立具名複本,請使用 Get-AzSqlDatabase :
Get-AzSqlDatabase -DatabaseName "WideWorldImporters_NamedReplica" -ResourceGroupName "MyResourceGroup" -ServerName "contosoeast"
下列範例會使用 Azure CLI 命令 az sql db replica create 建立 WideWorldImporters_NamedReplica
資料庫的 WideWorldImporters
具名複本。 主要複本會使用服務等級目標 HS_Gen5_4,具名複本則使用 HS_Gen5_2。 兩者都使用相同的邏輯伺服器名稱 contosoeast
。
az sql db replica create -g MyResourceGroup -n WideWorldImporters -s contosoeast --secondary-type named --partner-database WideWorldImporters_NamedReplica --partner-server contosoeast --service-objective HS_Gen5_2
若要設定區域備援超大規模資料庫具名複本 ,您必須同時指定 –zone-redundant
和 ha-replicas
,並輸入參數至 az sql db replica create
。
az sql db replica create -g MyResourceGroup -n WideWorldImporters -s contosoeast --secondary-type named --partner-database WideWorldImporters_NamedReplica --partner-server contosoeast --service-objective HS_Gen5_2 --ha-replicas 1 -zone-redundant
若要驗證是否已建立具名複本:
az sql db show -g MyResourceGroup -n WideWorldImporters -s contosoeast
由於不涉及任何資料移動,因此在大部分情況下,會花費約一分鐘的時間建立具名複本。 具名複本可供使用後,便會顯示在 Azure 入口網站,或任何命令列工具中 (例如 AZ CLI 或 PowerShell)。 具名複本可作為一般唯讀資料庫使用。
連線至超大規模資料庫具名複本
若要連線至超大規模資料庫具名複本,您必須使用該具名複本的連接字串,並參考其伺服器和資料庫名稱。 由於具名複本一律是唯讀狀態,因此不需要指定 ApplicationIntent=ReadOnly
選項。
如同 HA 複本,即使主要、HA 和具名複本,在同一組頁面伺服器上共用相同資料,每個具名複本上的資料快取,仍會與主要複本保持同步。 交易記錄服務會維護同步處理,它會將記錄從主要複本轉送至具名複本。 如此一來,視具名複本所處理的工作負載而定,記錄的應用程式可能會以不同的速度執行,進而使不同複本可能具有不同的資料延遲 (相對於主要複本)。
修改超大規模資料庫具名複本
您可以在建立具名複本時,透過 ALTER DATABASE
命令或以其他支援的方式 (入口網站、AZ CLI、PowerShell) 來定義具名複本的服務等級目標。 如果您需要在建立具名複本後變更服務等級目標,可以在具名複本上使用 ALTER DATABASE ... MODIFY
命令。
在下列範例中,WideWorldImporters_NamedReplica
是 WideWorldImporters
資料庫的具名複本。
開啟具名複本資料庫頁面,然後選取 [計算 + 儲存體]。 更新虛擬核心。
ALTER DATABASE [WideWorldImporters_NamedReplica] MODIFY (SERVICE_OBJECTIVE = 'HS_Gen5_4')
Set-AzSqlDatabase -ResourceGroup "MyResourceGroup" -ServerName "contosoeast" -DatabaseName "WideWorldImporters_NamedReplica" -RequestedServiceObjectiveName "HS_Gen5_4"
az sql db update -g MyResourceGroup -s contosoeast -n WideWorldImporters_NamedReplica --service-objective HS_Gen5_4
移除超大規模資料庫具名複本
若要移除超大規模資料庫具名複本,可與移除一般資料庫時相同,將具名複本卸除。
開啟具名複本資料庫頁面,然後選擇 Delete
選項。
確定您已連線至伺服器的 master
資料庫,其中會包含要卸除的具名複本,並接著使用下列命令:
此命令會卸除名為 WideWorldImporters_NamedReplica
的資料庫。
DROP DATABASE [WideWorldImporters_NamedReplica];
此命令會從邏輯伺服器 contosoeast
卸除名為 WideWorldImporters_NamedReplica
的資料庫。
Remove-AzSqlDatabase -ResourceGroupName "MyResourceGroup" -ServerName "contosoeast" -DatabaseName "WideWorldImporters_NamedReplica"
此命令會從邏輯伺服器 contosoeast
卸除名為 WideWorldImporters_NamedReplica
的資料庫。
az sql db delete -g MyResourceGroup -s contosoeast -n WideWorldImporters_NamedReplica
重要
當已建立的主要複本遭到刪除,系統會自動移除具名複本。
相關內容