藉由升級 Azure Synapse Analytics 中的專用 SQL 集區 (前身為 SQL DW) 來將效能最佳化
將專用 SQL 集區 (前身為 SQL DW) 升級為最新一代的 Azure 硬體和儲存體架構。
為何要升級?
您現在可以在所支援區域的 Azure 入口網站中順暢地升級至專用 SQL 集區 (前身為 SQL DW) 計算最佳化 Gen2 層。 如果您所在的區域不支援自我升級,您可以升級至支援的區域,或靜候您的區域支援自我升級。 請立即升級,以利用最新一代的 Azure 硬體和增強的儲存體架構,包括更快的效能、更高的延展性,以及無限制的單欄式儲存體。
重要
這項升級適用於支援的區域中的計算最佳化 Gen1 層專用 SQL 集區 (前身為 SQL DW)。
開始之前
確認您所在的區域是否支援從 GEN1 移轉至 GEN2。 請注意自動移轉日期。 若要避免與自動化程序發生衝突,請規劃在自動化程序開始日期之前進行手動移轉。
如果您所在的區域尚不提供支援,請繼續檢查您所要新增的區域,或使用還原升級至支援的區域。
如果您所在的區域已提供支援,則請透過 Azure 入口網站來升級
使用下列對應,根據計算最佳化 Gen1 層目前的效能層級,針對專用 SQL 集區 (前身為 SQL DW) 選取建議的效能層級:
計算最佳化 Gen1 層 計算最佳化 Gen2 層 DW100 DW100c DW200 DW200c DW300 DW300c DW400 DW400c DW500 DW500c DW600 DW500c DW1000 DW1000c DW1200 DW1000c DW1500 DW1500c DW2000 DW2000c DW3000 DW3000c DW6000 DW6000c
注意
建議的效能層級並非直接轉換。 例如,我們建議從 DW600 轉換至 DW500c。
使用 Azure 入口網站在支援的區域中進行升級
- 透過 Azure 入口網站從 Gen1 移轉至 Gen2 會是永久效果。 沒有程序可讓您返回 Gen1。
- 必須是執行中的專用 SQL 集區 (前身為 SQL DW) 才能遷移至 Gen2
開始之前
注意
建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 請參閱安裝 Azure PowerShell 以開始使用。 若要瞭解如何遷移至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 遷移至 Az。
- 登入 Azure 入口網站。
- 確定專用 SQL 集區 (前身為 SQL DW) 正在執行 - 其必須遷移至 Gen2
PowerShell 升級命令
如果要升級的計算最佳化 Gen1 層專用 SQL 集區 (前身為 SQL DW) 已暫停,請繼續專用 SQL 集區 (前身為 SQL DW)。
請做好停機幾分鐘的準備。
找出計算最佳化 Gen1 效能層級的任何程式碼參考,並修改其對等計算最佳化 Gen2 效能層級的程式碼參考。 以下是您應該在升級前更新程式碼參考的兩個範例:
原始 Gen1 PowerShell 命令:
Set-AzSqlDatabase -ResourceGroupName "myResourceGroup" -DatabaseName "mySampleDataWarehouse" -ServerName "mynewserver-20171113" -RequestedServiceObjectiveName "DW300"
修改為:
Set-AzSqlDatabase -ResourceGroupName "myResourceGroup" -DatabaseName "mySampleDataWarehouse" -ServerName "mynewserver-20171113" -RequestedServiceObjectiveName "DW300c"
注意
-RequestedServiceObjectiveName "DW300" 已變更為 - RequestedServiceObjectiveName "DW300c"
原始 Gen1 T-SQL 命令:
ALTER DATABASE mySampleDataWarehouse MODIFY (SERVICE_OBJECTIVE = 'DW300') ;
修改為:
ALTER DATABASE mySampleDataWarehouse MODIFY (SERVICE_OBJECTIVE = 'DW300c') ;
注意
SERVICE_OBJECTIVE = 'DW300' 已變更為 SERVICE_OBJECTIVE = 'DW300c'
開始升級
在 Azure 入口網站中移至計算最佳化 Gen1 專用 SQL 集區 (前身為 SQL DW)。 如果要升級的計算最佳化 Gen1 層專用 SQL 集區 (前身為 SQL DW) 已暫停,請繼續專用 SQL 集區。
選取 [工作] 索引標籤底下的 [升級至 Gen2] 卡片:
注意
如果您未在 [工作] 索引標籤下看見 [升級至 Gen2] 卡片,您的訂用帳戶類型受限於目前的區域。 提交支援票證,以讓您的訂用帳戶獲得核准。
在升級之前,請確定您的工作負載已完成執行並停止。 您會先經歷幾分鐘的停機,然後專用 SQL 集區 (前身為 SQL DW) 才會重新上線,並變為計算最佳化 Gen2 層專用 SQL 集區 (前身為 SQL DW)。 選取升級:
檢查 Azure 入口網站中的狀態來監視您的升級:
升級程序的第一個步驟會進行調整規模作業 (「升級 - 離線」),期間所有工作階段都會終止,且連線將會予以捨棄。
升級程序的第二個步驟是資料移轉 (「升級 - 上線」)。 資料移轉是在線上慢慢進行的背景程序。 此程序會將單欄式資料慢慢地從舊的儲存體架構移至使用本機 SSD 快取的新儲存體架構。 在這段期間,專用 SQL 集區 (前身為 SQL DW) 會上線以供進行查詢和載入。 您的資料無論已遷移與否,都將可供查詢。 資料移轉會依據您的資料大小、效能層級和資料行存放區的區段數目,而以不同的速率進行。
選擇性建議:在調整作業完成之後,您就可以提高資料移轉背景程序的進行速度。 您可以用較大的 SLO 和資源類別,在您會查詢的所有主要資料行存放區資料表上執行 Alter Index rebuild,以強制移動資料。 相較於會慢慢進行的背景程序,這項作業會離線進行,因此可能需要數小時才能完成 (視資料表的數量和大小而定)。 不過一旦完成,資料移轉速度就會大幅提升,因為增強後的新儲存體架構具有高品質的資料列群組。
注意
Alter Index rebuild 是一種離線作業,資料表在重建完成後才可使用。
下列查詢會產生必要的 Alter Index Rebuild 命令,以加速資料移轉:
SELECT 'ALTER INDEX [' + idx.NAME + '] ON ['
+ Schema_name(tbl.schema_id) + '].['
+ Object_name(idx.object_id) + '] REBUILD ' + ( CASE
WHEN (
(SELECT Count(*)
FROM sys.partitions
part2
WHERE part2.index_id
= idx.index_id
AND
idx.object_id =
part2.object_id)
> 1 ) THEN
' PARTITION = '
+ Cast(part.partition_number AS NVARCHAR(256))
ELSE ''
END ) + '; SELECT ''[' +
idx.NAME + '] ON [' + Schema_name(tbl.schema_id) + '].[' +
Object_name(idx.object_id) + '] ' + (
CASE
WHEN ( (SELECT Count(*)
FROM sys.partitions
part2
WHERE
part2.index_id =
idx.index_id
AND idx.object_id
= part2.object_id) > 1 ) THEN
' PARTITION = '
+ Cast(part.partition_number AS NVARCHAR(256))
+ ' completed'';'
ELSE ' completed'';'
END )
FROM sys.indexes idx
INNER JOIN sys.tables tbl
ON idx.object_id = tbl.object_id
LEFT OUTER JOIN sys.partitions part
ON idx.index_id = part.index_id
AND idx.object_id = part.object_id
WHERE idx.type_desc = 'CLUSTERED COLUMNSTORE';
透過 Azure 入口網站使用還原功能從 Azure 地理區域升級
使用 Azure 入口網站建立使用者定義的還原點
登入 Azure 入口網站。
瀏覽至您要建立還原點的專用 SQL 集區 (前身為 SQL DW)。
在 [概觀] 區段頂端,選取 [+ 新增還原點]。
指定還原點的名稱。
使用 Azure 入口網站還原作用中或已暫停的資料庫
登入 Azure 入口網站。
瀏覽至要從中進行還原的專用 SQL 集區 (前身為 SQL DW)。
在 [概觀] 區段頂端,選取 [還原]。
選取 [自動還原點] 或 [使用者定義的還原點]。 針對使用者定義的還原點,選取使用者定義的還原點或建立新的使用者定義還原點。 針對伺服器,請選取 [新建],並選擇 Gen2 支援的地理區域中的伺服器。
使用 PowerShell 從 Azure 地理區域還原
注意
建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 請參閱安裝 Azure PowerShell 以開始使用。 若要瞭解如何遷移至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 遷移至 Az。
若要還原資料庫,請使用 Restore-AzSqlDatabase Cmdlet。
注意
您可以執行異地還原來還原至 Gen2! 若要這麼做,請指定 Gen2 ServiceObjectiveName (例如 DW1000c) 作為選擇性參數。
- 開啟 Windows PowerShell。
- 連接到您的 Azure 帳戶,然後列出與您帳戶關聯的所有訂用帳戶。
- 選取包含要還原之資料庫的訂用帳戶。
- 取得您想要復原的資料庫。
- 建立資料庫的復原要求,指定 Gen2 ServiceObjectiveName。
- 確認異地還原資料庫的狀態。
Connect-AzAccount
Get-AzSubscription
Select-AzSubscription -SubscriptionName "<Subscription_name>"
# Get the database you want to recover
$GeoBackup = Get-AzSqlDatabaseGeoBackup -ResourceGroupName "<YourResourceGroupName>" -ServerName "<YourServerName>" -DatabaseName "<YourDatabaseName>"
# Recover database
$GeoRestoredDatabase = Restore-AzSqlDatabase –FromGeoBackup -ResourceGroupName "<YourResourceGroupName>" -ServerName "<YourTargetServer>" -TargetDatabaseName "<NewDatabaseName>" –ResourceId $GeoBackup.ResourceID -ServiceObjectiveName "<YourTargetServiceLevel>" -RequestedServiceObjectiveName "DW300c"
# Verify that the geo-restored database is online
$GeoRestoredDatabase.status
注意
若要在還原完成之後設定資料庫,請參閱 在復原之後設定資料庫。
如果來源資料庫是啟用 TDE,則復原的資料庫將是啟用 TDE。
如果您遇到任何關於專用 SQL 集區的問題,請建立支援票證以及將「Gen2 升級」當作可能原因。
後續步驟
升級後的專用 SQL 集區 (前身為 SQL DW) 已上線。 若要充分利用增強的架構,請參閱適用於工作負載管理的資源類別。