事件
3月31日 下午11時 - 4月2日 下午11時
最大的 SQL、網狀架構和 Power BI 學習事件。 3 月 31 日 - 4 月 2 日。 使用程式代碼 FABINSIDER 來節省 $400 美元。
立即註冊重要
Data Migration Assistant (DMA) 已被取代。 如需從 SQL Server 移轉至 Azure SQL 的選項,請參閱 SQL Server 至 Azure SQL 的移轉選項。
將資料庫遷移至雲端可能很複雜。 尤其是在嘗試為資料庫選擇最佳的 Azure SQL Database、SQL 受控執行個體、SQL Server 或 Azure VM 目標和 SKU 時。
Database Migration Assistant (DMA) 會藉由提供使用者易懂的 SKU 建議,協助您解決這些問題,並讓您的資料庫移轉體驗變得更輕鬆。 現在,DMA 可以使用效能資料來建議適當的目標 Azure SQL SKU,並提供建議說明。
SKU 建議功能可讓您從託管資料庫的來源 SQL Server 執行個體收集效能資料,並根據收集的資料,建議 Azure VM SKU 上最低的 Azure SQL 資料庫、Azure SQL 受控執行個體或 SQL Server 版本。 此功能會提供與定價層、計算層級和資料大小相關的建議。 這項功能目前只能透過命令列介面 (CLI) 使用。
下列指示可協助您判斷 SKU 建議,以及使用 DMA 在 Azure 中佈建對應的資料庫。
注意
如果您正在大規模評定 VMWare 上的整個 SQL Server 資料資產,則請使用 Azure Migrate 取得 Azure SQL 部署建議、目標大小調整及每月預估值。
注意
建議從可連線到目標 SQL 執行個體的個別工具(用戶端)機器上使用此工具,而不是從託管 SQL Server 本身的機器,以最大程度地降低任何潛在的額外負荷。 收集 SKU 建議的效能資料時,建議工具以預設選項值執行數小時,涵蓋離峰和尖峰工作負載,並且排除維修工作,例如索引重建或備份資料庫。 維護工作可能會影響 CPU、記憶體和 IO 耗用量,進而導致較高的建議 SKU 層。
收集的資料包括了關於伺服器硬體設定的有限資訊,以及來自系統動態管理檢視 (DMV) 的彙總 SQL 特定效能資料,例如 CPU、記憶體、儲存體使用量、IO 輸送量和 IO 延遲。 收集的資料會儲存在機器本機上,以進行進一步的彙總和分析。 分析來源執行個體的效能特性,針對 Azure SQL 供應項目啟用 SKU 建議(包括 SQL Database、SQL 受控執行個體和 Azure VM 上的 SQL),這些建議將最符合您的工作負載,且同時符合成本效益。
在 DMA 安裝路徑中,找出 SQLAssessmentConsole 資料夾和 SqlAssessment.exe 應用程式。
若要啟動資料收集程序,請使用下列引數在主控台應用程式中指定 PerfDataCollection
動作:
sqlConnectionStrings
:(必要) 以引號括起來的目標 SQL 執行個體的正式連接字串。perfQueryIntervalInSec
(選擇性):查詢效能資料的間隔(以秒為單位)。 (預設值:30
)。staticQueryIntervalInSec
(選擇性):查詢和保存靜態設定資料的間隔(以秒為單位)。 (預設值:60
)。numberOfIterations
(選擇性):保存至檔案之前要反覆執行幾次效能資料收集。 例如,若使用預設值,效能資料每隔 30 秒保存一次 * 20 次反覆 = 10 分鐘。 (預設值:20
)。outputFolder
(選擇性):寫入/讀取效能資料、報表和記錄的資料夾。 (預設值:%LocalAppData%/Microsoft/SqlAssessmentConsole
)。以下是叫用範例:
.\SqlAssessment.exe PerfDataCollection
--sqlConnectionStrings "Data Source=Server1;Initial Catalog=master;Integrated Security=True;" "Data Source=Server2;Initial Catalog=master;Integrated Security=True;"
--outputFolder C:\Output
或者,您可以藉由在 JSON 組態檔中提供適當的引數來叫用資料收集程序,並藉由執行可執行檔 (而非執行動作),將組態檔傳遞至工具,如下所示:
.\SqlAssessment.exe --configFile C:\path\to\config.json
以下是相當於先前效能資料收集動作的 [設定檔] 範例:
{
"action": "PerfDataCollection",
"sqlConnectionStrings": [
"Data Source=Server1;Initial Catalog=master;Integrated Security=True;",
"Data Source=Server2;Initial Catalog=master;Integrated Security=True;"
],
"outputFolder": "C:\\Output"
}
您可以在 DMA 安裝路徑下的 Example
資料夾中找到所有動作的設定檔範例:GetMetadataSampleConfigFile.json、PerfDataCollectionSampleConfigFile.json 和 GetSkuRecommendationSampleConfigFile.json。
在命令執行之後,效能和組態資料點會儲存為每個目標執行個體三個 *_Counters.csv 檔案集,每個檔案都包含伺服器和執行個體名稱。 您可以使用此檔案作為程序下一個部分的輸入,這會為 Azure SQL Database、Azure SQL 受控執行個體或 Azure VM 上的 SQL Server 提供 SKU 建議。
上一個步驟收集的資料點會作為 SKU 建議程序的輸入。
針對單一資料庫選項,DMA 會針對 Azure SQL 資料資料庫的單一資料庫層、計算層級,以及 SQL 執行個體上每個資料庫的建議儲存體組態提供建議。
針對 Azure SQL 受控執行個體和 Azure VM 上的 SQL Server,建議可支援直接遷移方案。 因此,SKU 建議主控台應用程式可以針對 Azure SQL 受控執行個體或 Azure VM 層上的 SQL Server、計算層級,以及 SQL 執行個體上一組資料庫的建議儲存體組態,向您提供建議。 您也可以指定只在 SKU 建議中包含或排除特定部分的資料庫。
根據預設,GetSkuRecommendation
會使用基準策略,將已收集且代表工作負載的效能資料值 (根據指定的百分位數) 對應至 Azure SQL SKU。
我們也提供彈性策略 (統計方法),以收集的效能資料為基礎,根據已遷移至 Azure SQL 的客戶分析工作負載模式,來產生唯一性價比曲線。
若要啟動 SKU 建議程序,請使用下列引數在主控台應用程式中指定 GetSkuRecommendation
動作:
perfQueryIntervalInSec
(選擇性):查詢效能資料的間隔 (以秒為單位)。 請注意:提供的值必須符合原本在效能資料收集期間使用的值。 (預設值:30
)targetPlatform
(選擇性);SKU 建議的目標平台:AzureSqlDatabase
、AzureSqlManagedInstance
、AzureSqlVirtualMachine
,或Any
。 選擇 Any
可評估所有三個目標平台的 SKU 建議,並傳回最適合的建議。 (預設值:Any
)targetSqlInstance
(選擇性):SKU 建議的目標 SQL 執行個體名稱。 (預設:會掃描由 PerfDataCollection 動作所建立的檔案,並針對找到的每個案例提供建議)targetPercentile
(選擇性):在彙總效能資料期間要使用的資料點百分位數。 僅用於基準 (非彈性) 策略。 僅用於基準 (非彈性) 策略。 (預設值:95
)scalingFactor
(選擇性):在 SKU 建議期間使用的縮放(舒適)因子。 例如,如果判斷結果是 4 個虛擬核心的 CPU 需求,而縮放比例因素為 150%,則真正的 CPU 需求為 6 個虛擬核心。 (預設值:100
)startTime
(選擇性):在彙總期間以 yyyy-MM-dd HH:mm
格式考慮的效能資料點 UTC 開始時間。 僅用於基準 (非彈性) 策略。 (預設值:收集的所有資料點都會納入考慮)endTime
(選擇性):在彙總期間以 yyyy-MM-dd HH:mm
格式考慮的效能資料點 UTC 結束時間。 僅用於基準 (非彈性) 策略。 (預設值:收集的所有資料點都會納入考慮)elasticStrategy
(選擇性):是否根據資源使用情境分析和成本效能分析來針對 SKU 建議使用彈性策略。 彈性策略目前適用於 Azure SQL Database 和 SQL 受控執行個體,尚不適用於 Azure VM 目標上的 SQL Server。 (預設值:false
)databaseAllowList
(選擇性):允許在 SKU 推薦考量中使用的資料庫名稱清單(以空格分隔),同時排除所有其他資料庫。 只設定下列其中一項或兩者都不設定:databaseAllowList、databaseDenyList.。 (預設值:null
)databaseDenyList
(選擇性):從 SKU 建議中排除的資料庫名稱 (空間分隔清單)。 只設定下列其中一項或兩者都不設定:databaseAllowList、databaseDenyList.。 (預設值:null
)overwrite
(選擇性):是否要覆寫任何現有的 SKU 建議報告。 (預設值:true
)displayResult
(選擇性):是否要將 SKU 建議結果列印到主機。 (預設值:true
)outputFolder
(選擇性):寫入/讀取效能資料、報表和記錄的資料夾。 (預設值:%LocalAppData%\Microsoft\SqlAssessment
)suppressPreviewFeatures
(選擇性):如果設定為 true,則建議不會包括處於預覽期間的任何 Azure 功能。 (預設值:false
)您可以在根目錄中的 Console.Settings.json
檔案中找到 SKU 建議的進階設定。 目前包含下列可自訂參數:
CommandTimeoutGroupSetting
:逾時之前等待 SQL 查詢命令執行的時間 (以秒為單位)。
PerfCollectionCommandTimeout
:與效能資料收集相關且可能長時間執行的查詢命令逾時 (預設值:300)DefaultCollectionCommandTimeout
:所有其他查詢的命令逾時(預設值:120
)
ThrottlingGroupSetting
:要根據機器上核心數目建立的平行工作數目
ServerInstancesParallelCount
:要平行評估的伺服器執行個體數目(預設值:2
)DatabasesParallelCount
:要平行評估的資料庫數目(預設值:4
)UserDefinedObjectsParallelCountPerDb
:每個資料庫中要平行評估的使用者定義物件數目 (預存程序、檢視、觸發程序等)(預設值:4
)
AllowTelemetry
:是否允許收集匿名功能使用情況和診斷資料,並將其傳輸給 Microsoft。 (預設值:true
)
或者,您可以藉由在 JSON 組態檔中提供適當的引數來叫用 SKU 建議程序,並藉由執行可執行檔 (而非執行動作),將組態檔傳遞至工具,如下所示:
.\SqlAssessment.exe --configFile C:\path\to\config.json
下列 [設定檔] 相當於先前所述的 SKU 建議動作:
{
"action": "GetSkuRecommendation",
"outputFolder": "C:\\Output",
"targetPlatform": "AzureSqlDatabase",
"targetSqlInstance": "Server1",
"targetPercentile": 95,
"scalingFactor": 100,
"startTime": "2020-01-01 00:00",
"endTime": "2022-01-01 00:00",
"perfQueryIntervalInSec": 30,
"overwrite": "true"
}
若要取得特定 Azure SQL 平台的 SKU 建議,而不是自動選取一個,請提供 --targetPlatform
選項的值,如下所示:
範例 1:取得 Azure SQL Database 的 SKU 建議。
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlDatabase
範例 2:使用彈性策略取得 Azure SQL 受控執行個體的 SKU 建議。
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
--elasticStrategy true
範例 3:取得 Azure SQL 虛擬機器的 SKU 建議。
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine
範例 4:取得 Azure SQL 虛擬機器的 SKU 建議及抑制預覽功能。
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine
--suppressPreviewFeatures True
以下螢幕擷取畫面是 Azure SQL 資料庫建議的輸出範例:
以下螢幕擷取畫面是 Azure SQL 受控執行個體建議的輸出範例:
以下螢幕擷取畫面是 Azure VM 建議上的 SQL Server 輸出範例:
SKU 建議的輸出會以 JSON 格式儲存為詳細報表及易讀的摘要 HTML 檔案。 輸出會涵蓋下列各區段:
最終建議的等級及其配置值會顯示查詢在 Azure 上執行時所需的最低需求 SKU,其成功率與您在內部部署資料庫上的成功率相似。
事件
3月31日 下午11時 - 4月2日 下午11時
最大的 SQL、網狀架構和 Power BI 學習事件。 3 月 31 日 - 4 月 2 日。 使用程式代碼 FABINSIDER 來節省 $400 美元。
立即註冊訓練
模組
評估 SQL Server 資料庫以移轉至 Azure SQL - Training
瞭解多個評估工具,可協助將資料庫移轉至 Azure,包括適用於 Azure Data Studio 的 Azure SQL 移轉延伸模組、Azure Migrate 和 Data Migration Assistant。
認證
Microsoft Certified: Azure Database Administrator Associate - Certifications
使用 Microsoft PaaS 關聯式資料庫供應項目管理用於雲端、內部部署和混合關聯式資料庫的 SQL Server 資料庫基礎結構。