共用方式為


藉由升級 Azure Synapse Analytics 中的專用 SQL 集區(先前稱為 SQL DW)來優化效能

將您的專用 SQL 集區 (先前稱為 SQL DW) 升級至最新一代的 Azure 硬體和記憶體架構。

為何要升級?

您現在可以順暢地升級至支援區域的 Azure 入口網站 專用 SQL 集區 (先前稱為 SQL DW) 計算優化 Gen2 層。 如果您的區域不支援自我升級,您可以升級至支援的區域,或等候您的區域提供自我升級。 立即升級以利用最新一代的 Azure 硬體和增強的記憶體架構,包括更快的效能、更高的延展性,以及無限制的單欄式記憶體。

開始之前

  1. 檢查您的 區域 是否支援 GEN1 移轉至 GEN2。 請注意自動移轉日期。 若要避免與自動化程式發生衝突,請在自動化程序開始日期之前規劃手動移轉。

  2. 如果您位於尚未支援的區域,請繼續使用還原至支援的區域,繼續檢查要新增或升級您的區域。

  3. 如果您的區域受到支援,請透過 Azure 入口網站 升級

  4. 使用下列對應,根據您目前的計算優化 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 入口網站 在支援區域中升級

  • 從 Gen1 移轉至 Gen2 到 Azure 入口網站 是永久的。 沒有返回 Gen1 的程式。
  • 專用 SQL 集區 (先前稱為 SQL DW) 必須執行才能遷移至 Gen2

開始之前

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 若要開始使用,請參閱 安裝 Azure PowerShell。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

  • 登入 Azure 入口網站
  • 確定專用 SQL 集區 (先前稱為 SQL DW) 正在執行 - 必須移轉至 Gen2

PowerShell 升級命令

  1. 如果要升級的計算優化 Gen1 層專用 SQL 集區(先前稱為 SQL DW)暫停,請繼續專用 SQL 集區(先前稱為 SQL DW)。

  2. 請準備幾分鐘的停機時間。

  3. 識別計算優化 Gen1 效能等級的任何程式代碼參考,並將其修改為對等的 Compute Optimized 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'

開始升級

  1. 移至 Azure 入口網站 中的計算優化 Gen1 專用 SQL 集區(先前稱為 SQL DW)。 如果要升級的計算優化 Gen1 層專用 SQL 集區(先前稱為 SQL DW)暫停, 請繼續專用 SQL 集區

  2. 選取 [工作] 索引標籤底下的 [ 升級至 Gen2 ] 卡片: Upgrade_1

    注意

    如果您未在 [工作] 索引標籤下看到 [ 升級至 Gen2 ] 卡片,您的訂用帳戶類型在目前的區域中會受到限制。 提交支援票證 以核准您的訂用帳戶。

  3. 在升級之前,請確定您的工作負載已完成執行並停止。 您將會在專用 SQL 集區(先前稱為 SQL DW)重新上線前幾分鐘的停機時間,做為計算優化 Gen2 層專用 SQL 集區(先前稱為 SQL DW)。 選取 [升級]:

    Upgrade_2

  4. 藉由檢查 Azure 入口網站 中的狀態來監視您的升級

    Upgrade3

    升級程式的第一個步驟會經歷縮放作業 (「升級 - 離線」),其中所有會話都會終止,而連線將會卸除。

    升級程式的第二個步驟是數據遷移(「升級 - 在線」)。 數據遷移是在線棘手的背景程式。 此程式會使用本機 SSD 快取,緩慢地將單欄式數據從舊記憶體架構移至新的記憶體架構。 在此期間,您的專用 SQL 集區(先前稱為 SQL DW)將會在在線進行查詢和載入。 不論數據是否已移轉,都可以使用您的數據進行查詢。 數據遷移會根據您的數據大小、效能層級,以及數據行存放區區段的數目,以不同的速率進行。

  5. 選擇性建議: 調整作業完成後,您可以加速數據遷移背景程式。 您可以在要查詢的所有主要數據行存放區數據表上執行 Alter Index 重建 ,以強制數據移動,方法是在較大的 SLO 和資源類別中查詢。 相較於棘手的背景程式,這項作業會 脫機 ,視數據表的數目和大小而定,可能需要數小時的時間才能完成。 不過,一旦完成,數據遷移將會更快,因為具有高質量數據列群組的新增強型記憶體架構。

注意

Alter Index 重建是離線作業,在重建完成之前,將無法使用資料表。

下列查詢會產生必要的 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 入口網站 建立使用者定義的還原點

  1. 登入 Azure 入口網站

  2. 前往您要建立還原點的專用 SQL 集區 (原為 SQL DW)。

  3. 在 [概觀] 區段頂端,選取 [+新增還原點]。

    新增還原點

  4. 指定還原點的名稱。

    還原點的名稱

使用 Azure 入口網站 還原使用中或暫停的資料庫

  1. 登入 Azure 入口網站

  2. 流覽至您想要從中還原的專用 SQL 集區(先前稱為 SQL DW)。

  3. 在 [概觀] 區段頂端,選取 [ 還原]。

     還原概觀

  4. 選取 [ 自動還原點 ] 或 [用戶定義還原點]。 針對使用者定義的還原點,選取使用者定義的還原點或建立新的使用者定義的還原點。 針對伺服器,選取 [新建 ],然後選擇 Gen2 支援地理區域中的伺服器。

    自動還原點

使用 PowerShell 從 Azure 地理區域還原

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 若要開始使用,請參閱 安裝 Azure PowerShell。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

若要復原資料庫,請使用 Restore-AzSqlDatabase Cmdlet。

注意

您可以對 Gen2 執行異地還原! 若要這樣做,請將 Gen2 ServiceObjectiveName (例如 DW1000c) 指定為選擇性參數。

  1. 請開啟 Windows PowerShell。
  2. 連接到您的 Azure 帳戶,然後列出與您帳戶關聯的所有訂用帳戶。
  3. 選取包含要還原之資料庫的訂用帳戶。
  4. 取得您想要復原的資料庫。
  5. 建立資料庫的復原要求,並指定 Gen2 ServiceObjectiveName。
  6. 確認異地還原資料庫的狀態。
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) 已上線。 若要利用增強的架構,請參閱 工作負載管理的資源類別。