Backup
備份還原、CPU 使用率和擴展事件
我正在測量備份對 CPU 的性能影響。我想擷取所有備份操作和 CPU 使用情況。我正在執行每週完整備份、每日差異和 15 分鐘日誌備份。擴展事件中是否有任何選項可以用來擷取 CPU 使用率?
CREATE EVENT SESSION [Backup_Events_Trace] ON SERVER ADD EVENT sqlserver.backup_restore_progress_trace (ACTION(sqlserver.client_hostname, sqlserver.database_name)) ,ADD EVENT sqlserver.databases_backup_restore_throughput (ACTION(sqlserver.client_hostname, sqlserver.database_name)) ADD TARGET package0.event_file (SET filename = N'L:\XE\Backup_Events_Trace.xel') WITH (STARTUP_STATE = OFF) GO
您可以通過添加此事件來獲取 CPU 使用率:
sqlos.scheduler_monitor_system_health_ring_buffer_recorded
將此添加到您的擴展事件會話將返回 CPU 使用率統計資訊(以及其他)。
當您查詢數據時,有兩個欄位 -
process_utilization
分別system_idle
代表 SQL 程序 CPU 使用率和空閒 CPU %。process_utilization
通過從伺服器中減去system_idle
非 SQL 使用的 CPU。
此外,據我所知,您也可以從內置的系統健康擴展事件中獲得 CPU 使用率。
它跟踪 CPU 指標以及執行的查詢。如果有興趣,您可能需要根據需要進行調整。否則,如果可能,您始終可以使用 DMV 進行其他事件或從記憶體中提取數據