銷售: 1-800-867-1380

變更資料庫服務層和效能層級

更新日期: 2014年6月

[本主題所述的功能只有在預覽版本中才可以使用。本主題是發行前的文件集,在未來的版本中可能有所變更。]

本主題說明切換服務層和效能層級所需的步驟。

請使用 Azure SQL Database 服務層和效能層級中的資訊,決定您的 Azure SQL 資料庫 所適用的服務層和效能層級。

您可以在任何服務層之間輕鬆切換。您可以使用 Azure 管理入口網站、PowerShell 或 REST API 來變更服務層。下列規則適用於此版本:

在服務層之間切換時,請注意下列事項:

  • 升級至 Premium 之前,請確定您在伺服器上有可用的 Premium 配額。根據預設,每部伺服器可以有兩個 Premium 資料庫。如果需要額外配額,請致電客戶支援中心。

  • 同盟資料庫無法升級至 Basic、Standard 或 Premium 服務層。

  • 若要將資料庫降級,資料庫應小於目標服務層允許的大小上限。如需每個服務層之允許大小的詳細資訊,請參閱本節稍後的服務層和資料庫大小表格。

  • 從 Premium 服務層降級時,您必須先終止所有的作用中地理複寫關聯性。您可以依照終止連續複製關聯性主題所述的步驟,停止主要資料庫與作用中次要資料庫之間的複寫程序。

  • 不同服務層提供的還原服務不同。如果是降級,您可能無法還原至某個時間點,或備份保留週期會較短。如需詳細資訊,請參閱Backup and Restore for Azure SQL Database

  • 您在 24 小時內最多可進行四種不同的資料庫變更 (服務層或效能層級)。

  • 變更完成後,才會資料庫套用新內容。

 

MAXSIZE Web Business Basic 標準 高階

100 MB

√ (D)

500 MB

√ (D)

1 GB

√ (D)

2 GB

5 GB

10 GB

√ (D)

√ (D)

20 GB

30 GB

40 GB

50 GB

100 GB

150 GB

200 GB

250 GB

300 GB

400 GB

500 GB

Important重要事項
Business 和 Web 服務層將在 2014 年 4 月 24 日起的 12 個月淘汰。如需詳細資訊,請參閱 Web 和 Business Edition 終止常見問題集

請使用下列其中一個方法來升級資料庫。其中的步驟是以升級至 Premium 服務層為主,但適用於所有升級。

  1. 使用您的 Microsoft 帳戶,登入 Azure 管理入口網站

  2. 瀏覽到 [SQL DATABASE] 索引標籤。

  3. [資料庫] 清單中選取資料庫。這樣會在 [資料庫儀表板][快速入門] 頁面上開啟該資料庫。

  4. 選取該資料庫的 [調整] 索引標籤。

  5. 在 [一般] 區段下,選取 [高階] 做為服務層。

  6. 在 [效能層級] 中,選取 P1P2P3

    為每一個效能層級增加處理能力的資源以 DTU 表示。如需效能層級和 DTU 的詳細資訊,請參閱 Azure SQL Database 服務層和效能層級

  7. 按一下畫面底部命令列中的 [儲存] 按鈕。

  8. 畫面上將會出現 [確認]。閱讀所提供的資訊,再按一下核取方塊確認。

  1. 使用 Set-AzureSqlDatabase 來指定資料庫的效能層級、資料庫大小上限和服務層。如需不同服務層支援的資料庫大小的完整清單,請參閱 Azure SQL Database Servers and Editions

  2. 使用 New-AzureSqlDatabaseServerContext 指令程式來設定伺服器內容。<使用 Azure PowerShell 命令>一節中有提供範例語法。

  3. 取得資料庫和目標效能層級的控制代碼。使用 Set-AzureSqlDatabase –ServiceObjective 來指定效能層級

    使用範例

    在此範例中:

    note附註
    此範例示範升級至高階服務層。

    系統會建立指向資料庫名稱 "somedb" 的 $db 控制代碼。

    建立 $P1 控制代碼來指向高階效能層級 1。

    資料庫 $db 的效能層級設為 $P1。

     
    
    $db = Get-AzureSqlDatabase $serverContext –DatabaseName “somedb”
    
    $P1= Get-AzureSqlDatabaseServiceObjective $serverContext -ServiceObjectiveName " P1"
    
    Set-AzureSqlDatabase $serverContext –Database $db –ServiceObjective $P1 –Edition Premium
    
    

使用下列其中一個方法將資料庫降級至較低服務層:

  1. 使用您的 Microsoft 帳戶,登入 Azure 管理入口網站

  2. 瀏覽到 [SQL DATABASE] 索引標籤。

  3. 針對所需的資料庫選取 [調整] 索引標籤。

  4. 在 [一般] 區段下,選取要降級到哪個服務層。

  5. 按一下畫面底部命令列中的 [儲存] 按鈕。

  6. 在 [確認] 頁面中,閱讀所提供的資訊,然後按一下核取方塊以確認變更 (如果適用)。

  1. 使用 Set-AzureSqlDatabase 來指定資料庫的服務層、效能層級和大小上限。

  2. 透過使用 Azure PowerShell 命令一節中提供的範例語法,使用 New-AzureSqlDatabaseServerContext 來設定伺服器內容。

    • 取得資料庫的控制代碼。

    • 取得效能層級的控制代碼。

    • 使用 Set-AzureSqlDatabase –ServiceObjective 來指定資料庫的服務層、效能層級和大小上限。

      使用範例

      此範例說明如何從 Premium 服務層資料庫降級至 Standard 服務層資料庫:

      • 系統會建立指向資料庫名稱 "somedb" 的 $db 控制代碼。

      • 建立變數 $S2 以指向 Standard 效能層級 S2。

      • 資料庫 $db 的效能層級設為 $S2。

      • 使用 -Edition 和 -MaxSizeGB 參數指定資料庫的資料庫服務層和大小上限。為 –MaxSizeGB 參數指定的值必須適用於目標服務層。本主題在先前的章節中提供了每個服務的 MaxSize 值表格。

      $db = Get-AzureSqlDatabase $serverContext –DatabaseName “somedb”
      $S2 = Get-AzureSqlDatabaseServiceObjective $serverContext -ServiceObjectiveName "S2"
      
      Set-AzureSqlDatabase $serverContext –Database $db –ServiceObjective $S2 –Edition Standard –MaxSizeGB 40
      

您可以使用下列其中一個方法提高或降低 Standard 或 Premium 資料庫的效能層級。變更資料庫的效能層級可能需要花費一些時間。如需詳細資訊,請參閱下面的<高階資料庫變更的影響>一節。

Warning警告
如果您要變更已設定作用中地理複寫關聯性之高階資料庫的效能層級,請依下列順序來設定主要資料庫和作用中次要資料庫:

這是因為作用中次要資料庫必須等於或大於主要資料庫的效能層級。

  • 如果要從較高效能層級切換至較低效能層級,請從主要資料庫開始,接著再設定一或多個作用中次要資料庫。

  • 如果要從較低效能層級切換至較高效能層級,請從作用中次要資料庫開始,最後才是主要資料庫。

  1. 使用您的 Microsoft 帳戶,登入 Azure 管理入口網站

  2. 瀏覽到 [SQL DATABASE] 索引標籤。

  3. 針對該帳戶或特定伺服器,從 [資料庫] 清單選取資料庫。這樣會在 [資料庫儀表板][快速入門] 頁面上開啟該資料庫。

  4. 選取該資料庫的 [調整] 索引標籤。

  5. 在 [效能層級] 選項中,選取效能層級。

  6. 按一下畫面底部命令列中的 [儲存] 按鈕

  1. 使用 Set-AzureSqlDatabase 來指定資料庫的效能層級。

  2. 使用 New-AzureSqlDatabaseServerContext 指令程式來設定伺服器內容。<使用 Azure PowerShell 命令>一節中有提供範例語法。

    • 取得資料庫的控制代碼。

    • 取得效能層級的控制代碼。

    • 使用 Set-AzureSqlDatabase –ServiceObjective 來指定效能層級。

      使用範例

      在此範例中:

      • 系統會建立指向資料庫名稱 "somedb" 的 $db 控制代碼。

      • 建立 $P2 控制代碼來指向高階效能層級 2。

      • 資料庫 $db 的效能層級設為 $P2。

      $db = Get-AzureSqlDatabase $serverContext –DatabaseName “somedb”
      $P2 = Get-AzureSqlDatabaseServiceObjective $serverContext -ServiceObjectiveName "P2"
      
      
      Set-AzureSqlDatabase $serverContext –Database $db –ServiceObjective $P2
      

本節的資訊說明升級至標準或高階服務層或變更資料庫效能層級的影響。

當效能層級變更或升級/降級完成時,資料庫的連線可能會暫時中斷,而且可能需要經過幾秒鐘之後才能重新建立連接。SQL Database 應用程式的程式碼設計應具有處理連線中斷的彈性,因為當資料中心內的電腦故障且 SQL Database 服務容錯移轉至資料庫時,SQL Database 隨時都可能發生此狀況。使用高階資料庫的應用程式並不需要進行任何實作變更,也不需要變更高階資料庫的效能層級。

資料庫的 SLO 變更通常會涉及資料移轉,因此可能要花費好幾個小時,變更申請才會完成,而相關聯的帳單變更也才會生效。升級/降級資料庫時會因為發生變更而移動資料,而變更資料庫的效能層級時也可能移動資料。

SLO 變更的延遲涉及資料移轉

決定資料庫的儲存體大小之後,可以使用下面啟發式來估計 SLO 變更申請的延遲:

3x (5 minutes + database size / 150 MB/minute)

例如,如果資料庫的大小是 50 GB,則 SLO 變更申請延遲的估計方式如下:

3 x ∙ (5 minutes + 50 GB x 1024 MB/GB / 150 MB/minute) ≈17 hours

使用這個啟發式所估計的上下限之間,如果是空的資料庫可能會有 15 分鐘的差異,如果是 150 GB 的資料庫則大約會有 2 天的差異。視資料中心的狀況而定,此估計還可能會有進一步的差異。

從較高效能層級變更為較低效能層級時的延遲

如果資料庫效能層級從較高效能層級變更為較低規模,通常不會移動資料。在這種情況下,SLO 變更的延遲會大幅縮短,通常只要數秒即可完成。

Warning警告
前述說明僅適用於 Premium 與 Standard 服務層之間的降級。降級至 Web、Business 或 Basic 時,會牽涉到資料移轉。

在服務層之間進行升級或降級期間,或變更效能層級時,您可以使用下列其中一個方法來檢查資料庫的狀態。

  1. 使用您的 Microsoft 帳戶,登入 Azure 管理入口網站

  2. [資料庫] 清單中選取資料庫。這樣會在 [資料庫儀表板][快速入門] 頁面上開啟該資料庫。

  3. [資料庫儀表板] 上,查看 [快速概覽] 區域中 [版本] 區段的狀態資訊。

  4. 服務層級目標 (SLO) 代表服務層內的效能層級。下面範例會傳回 SQL Database 中的 SLO 變更狀態。此查詢會傳回資料庫目前的 SLO、目標 SLO 和變更的狀態 (是擱置中或已完成)。

    SELECT 
    database_name=database_name.name 
        , current_slo=current_slo.name 
        , target_slo=target_slo.name 
        , state_desc=database_slo.state_desc 
    FROM slo_database_objectives AS database_slo
    INNER JOIN slo_service_objectives AS current_slo ON database_slo.current_objective_id = current_slo.objective_id
    INNER JOIN slo_service_objectives AS target_slo ON database_slo.configured_objective_id = target_slo.objective_id
    INNER JOIN sys.databases AS database_name  ON database_slo.database_id = database_name.database_id;
    
    
    

下面範例會傳回指定資料庫的資料庫 SLO 指派記錄。

SELECT *
FROM dbo.slo_assignment_history 
WHERE database_name = '<DB NAME>’ 
ORDER BY operation_start_time DESC;

本節提供使用 Azure PowerShell 命令的先決條件。

必要條件

若要使用本主題所描述的 Azure PowerShell 指令程式,則執行 PowerShell 的電腦上必須已安裝下面軟體。

  1. Windows PowerShell 版本應該至少為 3.0。請從這裡下載:http://www.microsoft.com/en-us/download/details.aspx?id=34595

  2. Azure PowerShell。請從這裡的 [命令列工具] 區段下載:Azure SDK 和工具下載

  1. 啟動 -> 啟動 Azure PowerShell。

  2. 提供伺服器的使用者名稱和密碼。

  3. 使用 New-AzureSqlDatabaseServerContext 來建立伺服器內容。

範例



$subId = <Subscription ID>
$thumbprint = <Certificate Thumbprint>
$myCert = Get-Item Cert:\CurrentUser\My\$thumbprint
Set-AzureSubscription -SubscriptionName "mySubscription" -SubscriptionId $subId -Certificate $myCert
Select-AzureSubscription -SubscriptionName "mySubscription"
$serverContext = New-AzureSqlDatabaseServerContext -ServerName "myserver" -UseSubscription


Azure PowerShell 參考

若要檢視與本主題中使用的 Azure PowerShell Cmdlet 有關的詳細資訊,請參閱 Azure SQL Database Cmdlet

New-AzureSqlDatabaseServerContext

New-AzureSqlDatabase

Set-AzureSqlDatabase

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見
顯示:
© 2014 Microsoft