我确定了问题(我自己的愚蠢)-因此我编辑了问题以更好地反映答案
。
我对SQL Server上的特定表有一些问题。我是否可以运行任何疑难解答查询来尝试找出问题所在。
表存储属性:
数据空间:113MB
索引空间:306MB
行数:25000
SQL Server版本:
Microsoft SQL Server 2016 (SP2) (KB4052908) - 13.0.5026.0 (X64) Mar 18 2018 09:11:49 Copyright (c) Microsoft Corporation Web Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: )
答案 0 :(得分:1)
您是对的,可能有很多问题,但是有一种聪明的调查方法。 我建议您创建一些SQL Server扩展事件会话,以捕获实例上发生的事情,从而为进一步的调查奠定坚实的基础。 XE不像探查器那样对资源贪婪,因此在发现错误之前,应该可以很好地运行它们。一旦有了基本数据,SO将很乐意为您提供进一步的帮助:)
Ps。请把您感兴趣的第一个会话值的实际时间替换为我以10秒为例的时间。
--|-----------------------------------------------------------------------
--| Query duration over 10 sec:
--|-----------------------------------------------------------------------
CREATE EVENT SESSION [Duration_Over_10_Seconds] ON SERVER
ADD EVENT sqlserver.rpc_completed(SET collect_output_parameters=(1),collect_statement=(1)
ACTION(sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.database_name,sqlserver.is_system,sqlserver.nt_username,sqlserver.plan_handle,sqlserver.session_id)
WHERE ([duration]>(10000000)))
ADD TARGET package0.event_file(SET filename=N'Duration_Over_10_Seconds',max_file_size=(250),max_rollover_files=(3))
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=ON,STARTUP_STATE=ON)
GO
--|-----------------------------------------------------------------------
--| Blocking queries (above the 'blocked process threshold' sqrver config)
--|-----------------------------------------------------------------------
CREATE EVENT SESSION [Blocking] ON SERVER
ADD EVENT sqlserver.blocked_process_report
ADD TARGET package0.event_file(SET filename=N'Blocking',max_file_size=(250),max_rollover_files=(3))
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=ON,STARTUP_STATE=ON)
GO
--|-----------------------------------------------------------------------
--| Aplication Aborts (time outs)
--|-----------------------------------------------------------------------
CREATE EVENT SESSION [TimeOuts] ON SERVER
ADD EVENT sqlserver.rpc_completed(SET collect_output_parameters=(1)
ACTION(sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.database_name,sqlserver.is_system,sqlserver.nt_username,sqlserver.plan_handle,sqlserver.session_id)
WHERE ([result]=(2)))
ADD TARGET package0.event_file(SET filename=N'TimeOuts',max_file_size=(250),max_rollover_files=(3))
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,TRACK_CAUSALITY=ON,STARTUP_STATE=ON)
GO
--|-----------------------------------------------------------------------
--| Deadlocks:
--|-----------------------------------------------------------------------
CREATE EVENT SESSION [Deadlocks] ON SERVER
ADD EVENT sqlserver.xml_deadlock_report
ADD TARGET package0.event_file(SET filename=N'Deadlocks', max_file_size=(250), max_rollover_files=(3))
WITH (MAX_MEMORY=4096 KB, EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS, MAX_DISPATCH_LATENCY=30 SECONDS, MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE, TRACK_CAUSALITY=ON, STARTUP_STATE=ON)
GO