P
u
r
v
i
s

查询SQL Server是否存在PREEMPTIVE_OS_WRITEFILEGATHER的等待类型

要查询SQL Server是否存在PREEMPTIVE_OS_WRITEFILEGATHER的等待类型,可以使用以下查询语句:

SELECT 
    waiting_tasks_count AS [等待任务数],
    wait_type AS [等待类型],
    wait_time_ms AS [等待时间(毫秒)],
    max_wait_time_ms AS [最大等待时间(毫秒)]
FROM 
    sys.dm_os_wait_stats
WHERE 
    wait_type = 'PREEMPTIVE_OS_WRITEFILEGATHER'

这个查询语句会从系统视图sys.dm_os_wait_stats中检索等待类型为PREEMPTIVE_OS_WRITEFILEGATHER的等待信息。查询结果将包括等待任务数、等待时间和最大等待时间。

请注意,sys.dm_os_wait_stats视图中包含了SQL Server实例的等待统计信息,包括各种等待类型。你可以根据需要修改查询语句来查询其他等待类型。

补充:

对于sys.dm_os_wait_stats视图中的等待统计信息,它是持久的,即数据不会自动重置或更改。这意味着你在查询时看到的数据可能是从SQL Server实例启动以来的累积数据。

如果你想重置等待统计信息并开始计算新的等待时间,可以使用以下命令:

DBCC SQLPERF('sys.dm_os_wait_stats', CLEAR);

这个命令将清除sys.dm_os_wait_stats视图中的等待统计信息,并将其重置为零。然后,你可以再次运行查询来获取新的等待时间数据。

请注意,清除等待统计信息将重置所有等待类型的数据,而不仅仅是PREEMPTIVE_OS_WRITEFILEGATHER。因此,在清除等待统计信息之前,请确保你已经备份了任何需要的等待时间数据。

posted @ 2023-08-18 11:23  兰purvis  阅读(108)  评论(0编辑  收藏  举报