設定 Azure VM 上的 SQL Server 的儲存體

適用於:Azure VM 上的 SQL Server

本文教導您如何使用進階 SSD 在透過 Azure Marketplace 部署的 Azure 虛擬機器 (VM) 上設定 SQL Server 的儲存體。

透過市集映像部署的 SQL Server VM 會自動遵循預設儲存體最佳做法,其可在部署期間進行修改。 您可以在部署之後變更其中一些組態設定。

注意

本文僅適用於使用進階儲存體的 Azure VM 上的 SQL Server,不適用於進階 SSD v2 儲存體

必要條件

若要使用自動儲存體組態設定,您的虛擬機器需具備下列特性︰

新的 VM

下列各節說明如何為新的 SQL Server 虛擬機器設定儲存體。

Azure 入口網站

使用 SQL Server 資源庫映像佈建 Azure VM 時,請在 [SQL Server 設定] 索引標籤上選取 [儲存體] 下的 [變更設定],以開啟 [設定儲存體] 頁面。 您可以保留預設值,也可以根據您的工作負載,修改最符合您需求的磁碟設定類型。

醒目提示 [SQL Server 設定] 索引標籤和 [變更設定] 選項的螢幕擷取畫面。

注意

如果您選取支援的 VM 大小,可以使用進階 SSD v2,讓您更細微地控制磁碟大小、IOPS 和輸送量。

選擇資料檔案和記錄檔的磁碟機位置,同時指定磁碟類型和數目。 使用 IOPS 值來判斷最佳的儲存體設定,以符合您的商務需求。 根據 SQL Server VM 效能最佳做法,選擇進階儲存體會將資料磁碟機的快取設定為唯讀,並將記錄磁碟機的快取設定為

佈建期間 [SQL Server VM 儲存體組態] 頁面的 Azure 入口網站的螢幕擷取畫面。

您可以完全地自訂磁碟設定,因此您可以為 SQL Server VM 工作負載設定所需的儲存體拓撲、磁碟類型和 IOPS。 如果您的 SQL Server VM 位於其中一個受支援的區域,而且您已啟用訂用帳戶的 Ultra 磁碟,則也可以使用 Ultradisk 作為磁碟類型的選項。

在 [Tempdb 儲存體] 下設定 tempdb 資料庫設定,例如資料庫檔案的位置,以及檔案數目、初始大小和自動成長大小 (以 MB 為單位)。

  • 目前,在部署期間,tempdb 檔案的最大數目為 8 個,但在部署 SQL Server VM 後可以新增更多檔案。
  • 如果您依照建議在 D: 本機 SSD 磁碟區上設定 SQL Server 執行個體 tempdb,則 SQL IaaS 代理程式延伸模組將管理重新佈建時所需的資料夾和權限。 這不需要您使用來自 Azure Marketplace 的映像建立 SQL 虛擬機器。

顯示您可以針對 SQL VM 設定 tempdb 儲存體位置的螢幕擷取畫面。

此外,您也能為磁碟設定快取。 與進階磁碟搭配使用時,Azure VM 具有稱為 Blob 快取的多層快取技術。 Blob 快取會結合虛擬機器 RAM 和本機 SSD 進行快取。

進階 SSD 的磁碟快取可以是唯讀、*讀寫或

  • 唯讀快取對於儲存在進階儲存體上的 SQL Server 資料檔案非常有用。 從位於 VM 記憶體和本機 SSD 內的快取執行讀取時,唯讀快取可帶來低讀取延遲、高讀取 IOPS 和輸送量。 這些讀取的速度比從 Azure Blob 儲存體的資料磁碟讀取快非常多。 進階儲存體不會將快取所服務的讀取計入磁碟 IOPS 和輸送量之內。 因此,應用程式能夠達到較高的 IOPS 和輸送量總計。

  • 裝載 SQL Server 記錄檔的磁碟應使用快取設定,因為記錄檔會依序寫入,並不會受益於唯讀快取。

  • 不應使用讀寫快取來裝載 SQL Server 檔案,因為 SQL Server 未對讀寫快取支援資料一致性。 如果寫入時經過唯讀 Blob 快取層,則寫入會浪費唯讀 Blob 快取的容量,且延遲會稍微增加。

    提示

    請確定您的儲存體設定符合所選 VM 大小所加諸的限制。 選擇超過 VM 大小效能上限的儲存體參數將會導致警告:The desired performance might not be reached due to the maximum virtual machine disk performance cap。 請變更磁碟類型來減少 IOPS,或增加 VM 大小來增加效能上限。 這不會停止佈建。

根據您的選擇,Azure 會在建立 VM 後執行下列儲存體設定工作︰

  • 建立進階 SSD 並將其連結到虛擬機器。
  • 設定 SQL Server 可存取的資料磁碟。
  • 根據指定的大小和效能 (IOPS 和輸送量) 需求,設定存放集區中的資料磁碟。
  • 建立存放集區與虛擬機器上新磁碟機的關聯。

如需如何在 Azure 入口網站中建立 SQL Server VM 的完整逐步解說,請參閱 佈建教學課程

Resource Manager 範本

如果您使用下列 Resource Manager 範本,則預設會連接兩個進階資料磁碟,但不會設定存放集區。 不過,您可以自訂這些範本,以變更連接到虛擬機器的進階資料磁碟數目。

快速入門範本

您可以使用下列快速入門範本,透過儲存體最佳化來部署 SQL Server VM。

注意

某些 VM 大小可能沒有暫時或本機儲存體。 如果您在沒有暫存儲存體的 Azure VM 上部署 SQL Server,tempdb 資料和記錄檔會放在資料檔案夾中。

現有的 VM

注意

儲存體只能針對從 Azure Marketplace 中的 SQL Server 映像部署的 SQL Server VM 進行設定,目前不支援進階 SSD v2 磁碟。 若要使用自我安裝的 SQL Server 修改 Azure 虛擬機器上的磁碟組態,請使用 [磁碟] 窗格

修改現有的磁碟機

對於已透過 Azure Marketplace 部署的現有 SQL Server VM,您可以透過 SQL 虛擬機器資源或在 [磁碟] 窗格上修改 Azure 入口網站中的某些儲存體設定。

若要修改儲存體設定,請開啟 SQL 虛擬機器資源,然後在 [設定] 下選取 [儲存體組態],您可以在其中:

  • 新增其他磁碟
  • 設定或擴充現有的磁碟

醒目提示 [設定] 選項和 [儲存體使用量] 區段的螢幕擷取畫面。

選取 [設定] 會開啟 [延伸磁碟機] 頁面,讓您可以變更磁碟類型,以及新增額外的磁碟。 您也可以透過 [磁碟] 窗格新增磁碟。

Azure 入口網站的螢幕擷取畫面,顯示 [延伸資料磁碟機] 頁面,用於為現有 SQL Server VM 設定儲存體。

如果您已達到特定 VM 大小支援的磁碟上限,您可能需要調整 VM 的大小

修改 tempdb

您也可以使用 [儲存體設定] 頁面來修改您的 tempdb 設定,例如 tempdb 檔案數目,以及初始大小,和自動成長比例。 選取 [tempdb] 旁邊的 [設定] 以開啟[tempdb 設定] 頁面。

選擇 [設定 tempdb 資料檔案] 旁邊的 [是] 以修改設定,然後選擇 [重新啟動時管理 tempdb 資料庫資料夾] 旁邊的 [是],以允許 Azure 在下次啟動 SQL Server 服務時管理 tempdb 組態、資料夾和權限。 這不需要您使用來自 Azure Marketplace 的映像建立 SQL 虛擬機器。

SQL 虛擬機器資源頁面中 Azure 入口網站的 tempdb 設定頁面的螢幕擷取畫面。

重新啟動您的 SQL Server 服務以套用變更。

增加暫存磁碟大小

若要增加暫存磁碟,請調整 VM 的大小為支援較高磁碟大小的 SKU。

自動變更

本節提供儲存體設定變更的參考,Azure 會在 Azure 入口網站中進行 SQL Server VM 佈建或設定期間自動執行這些變更。

  • Azure 會從選自 VM 的儲存體設定存放集區。 本文的下一節提供關於存放集區設定的詳細資料。
  • 自動儲存體設定一律使用進階 SSD P30 資料磁碟。 因此,您選取的 TB 數目與連接到您 VM 的資料磁碟數目會有 1:1 的對應。

如需價格資訊,請參閱 磁碟儲存體 索引標籤上的 儲存體價格 頁面。

建立存放集區

Azure 會使用下列設定在 SQL Server VM 上建立存放集區。

設定
等量大小 64 KB
磁碟大小 每個磁碟 1 TB
快取 讀取
配置大小 64 KB NTFS 配置單位大小
復原 簡單復原 (無恢復功能)
Number of columns 資料磁碟數目,最多可達 8 個1

1 建立存放集區之後,您就無法改變存放集區中的資料行數目。

啟用快取

對於進階 SSD,您可以在磁碟層級變更快取原則。 若要這樣做,您可以使用 Azure 入口網站、PowerShellAzure CLI

若要在 Azure 入口網站中變更您的快取原則,請遵循下列步驟:

  1. 停止您的 SQL Server 服務。

  2. 登入 Azure 入口網站

  3. 瀏覽至您的虛擬機器,選取 [設定] 下的 [磁碟]。

    顯示 Azure 入口網站中 VM 磁碟組態窗格的螢幕擷取畫面。

  4. 從下拉式清單中選擇適合您磁碟的快取原則 – 唯讀或無。

    顯示 Azure 入口網站中磁碟快取原則設定的螢幕擷取畫面。

  5. 變更生效之後,請將 SQL Server VM 重新開機,並啟動 SQL Server 服務。

啟用寫入加速器

寫入加速器為磁碟功能,僅適用於 M 系列虛擬機器 (VM)。 寫入加速的目的是為了改善針對 Azure 進階儲存體的寫入 I/O 延遲,同時由於大量任務關鍵性 OLTP 工作負載或資料倉儲環境,需要單一位數 I/O 延遲。

在啟用寫入加速器之前,先檢閱一些限制,以確認這些限制對於您的企業來說是可以接受的。

在針對您的寫入加速原則進行變更之前,請先停止所有 SQL Server 活動並關閉 SQL Server 服務。

如果您的磁碟已等量分割,請針對每個磁碟個別啟用寫入加速,並在進行任何變更之前,應該先將您的 Azure VM 關機。

若要使用 Azure 入口網站啟用寫入加速,請遵循下列步驟:

  1. 停止您的 SQL Server 服務。 如果您的磁碟已等量分割,請關閉虛擬機器。

  2. 登入 Azure 入口網站

  3. 瀏覽至您的虛擬機器,選取 [設定] 下的 [磁碟]。

    顯示 Azure 入口網站中 VM 磁碟組態窗格的螢幕擷取畫面。

  4. 從下拉式清單中為您的磁碟選擇具有 [寫入加速器] 的快取選項。

    顯示寫入加速器快取原則的螢幕擷取畫面。

  5. 變更生效之後,請啟動虛擬機器和 SQL Server 服務。

磁碟等量分割

如需更多的輸送量,您可以新增其他資料磁碟,並使用磁碟等量分割。 若要判斷資料磁碟的數目,請分析 SQL Server 資料檔案 (包括記錄和 tempdb) 所需的輸送量和頻寬。 輸送量和頻寬限制會依 VM 大小而有所不同。 若要深入了解,請參閱 VM 大小

  • 若為 Windows 8/Windows Server 2012 以上版本,請遵循下列指導方針使用儲存空間

    1. 將交錯 (等量大小) 設定為 64 KB (65,536 個位元組),以避免由於分割區不一致而造成的效能影響。 必須使用 PowerShell 來設定。

    2. 設定資料行數目 = 實體磁碟數量。 設定 8 個以上的磁碟 (不是伺服器管理員 UI) 時,使用 PowerShell。

例如,下列 PowerShell 會建立交錯大小為 64 KB 的新存放集區,而且資料行數目等於存放集區中的實體磁數量:

$PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"}

New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Windows Storage on <VM Name>" `
    -PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" `
    -Interleave 65536 -NumberOfColumns $PhysicalDisks.Count -ResiliencySettingName simple `
    -UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter `
    -UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" `
    -AllocationUnitSize 65536 -Confirm:$false

在 Windows Server 2016 和更新版本中,-StorageSubsystemFriendlyName 的預設值為 Windows Storage on <VM Name>

  • 對於 Windows 2008 R2 之前的版本,可以使用動態磁碟 (OS 分割的磁碟區),且等量磁碟區的大小一律為 64 KB。 Windows 8/Windows Server 2012 已不再提供此選項。 如需相關資訊,請參閱虛擬磁碟服務正轉換為 Windows 存放管理 API 中的支援聲明。

  • 如果您要搭配使用儲存空間直接存取 (S2D)SQL Server 容錯移轉叢集執行個體,您必須設定單一集區。 雖然可以在單一集區上建立不同的磁碟區,但這些磁碟區將共用相同特性,例如相同的快取原則。

  • 請根據您預期的負載量,決定與您的儲存體集區相關聯的磁碟數量。 請注意,各 VM 大小所允許連接的資料磁碟數量皆不同。 如需相關資訊,請參閱虛擬機器的大小

已知問題

SQL 虛擬機器資源上的 [設定磁碟] 選項或 [儲存體設定] 窗格會呈現灰色

如果您的 SQL IaaS 代理程式延伸模組處於失敗狀態,[儲存體設定] 窗格可能會在 Azure 入口網站中呈現灰色。 修復 SQL IaaS 代理程式延伸模組

如果您已自訂存放集區,或是使用非 Marketplace 映像,[儲存體設定] 窗格上的 [設定] 會呈現灰色。

我有一個磁碟具有 1 TB 的未配置空間,但我無法將其從存放集區中移除

沒有任何選項可從屬於存放集區的磁碟中移除未配置的空間。

我的交易記錄已滿

如果您的記錄已滿,請檢閱對寫滿交易記錄進行疑難排解