Backup

備份還原、CPU 使用率和擴展事件

  • July 31, 2020

我正在測量備份對 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 進行其他事件或從記憶體中提取數據

引用自:https://dba.stackexchange.com/questions/271982