91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL Server超時診斷

發布時間:2020-06-18 01:10:42 來源:網絡 閱讀:2433 作者:UltraSQL 欄目:數據庫

連接超時


對于連接超時,首先可以查看Connectivity Ring Buffer中的LoginTimers類型錯誤來分析,如果想獲得更詳盡的信息,再通過抓包工具network monitor。


具體方法和語句可參考以下文章:

https://blogs.msdn.microsoft.com/apgcdsd/2011/11/20/ring-buffersql-server-2008/

http://ultrasql.blog.51cto.com/9591438/1583446


查詢超時


對于查詢超時,針對SQL Server 2012以下的版本,使用Profiler的TSQL_Duration模板的基礎上,添加“Errors and Warnings”下的“Attention”,根據捕獲到的Attention結合上下文去查找相應的語句;對于SQL Server 2012及以上版本,直接使用擴展事件監控sqlserver.attention事件,直接輸出sql_text。

 

以下為XE腳本:

use tempdb   
go    
if exists (select * from sys.objects where name = 'sqlws_xev_attention')    
    drop view sqlws_xev_attention    
go    
create view sqlws_xev_attention as    
with xevents (event_data)    
as    
(    
    select event.query('.') as event_data from     
        ((select cast (xest.target_data as xml) as target_data    
                from sys.dm_xe_sessions as xes    
                inner join sys.dm_xe_session_targets as xest on (xes.address = xest.event_session_address)    
                where xes.name = 'sqlws_xevents_attention' and xest.target_name = 'ring_buffer') as td    
            cross apply target_data.nodes ('//event[@name="attention"]') as x (event))    
)    
select event_data.value ('(event/@name)[1]', 'varchar(max)') as event_name,    
    event_data.value ('(event/@timestamp)[1]', 'datetime') as event_timestamp,    
    event_data.value ('(event/data[@name="duration"]/value)[1]', 'bigint') as [duration],    
    event_data.value ('(event/data[@name="request_id"]/value)[1]', 'int') as [request_id],    
    event_data.value ('(event/action[@name="client_app_name"]/value)[1]', 'nvarchar(max)') as action_client_app_name,    
    event_data.value ('(event/action[@name="client_hostname"]/value)[1]', 'nvarchar(max)') as action_client_hostname,    
    event_data.value ('(event/action[@name="database_name"]/value)[1]', 'nvarchar(max)') as action_database_name,    
    event_data.value ('(event/action[@name="nt_username"]/value)[1]', 'nvarchar(max)') as action_nt_username,    
    event_data.value ('(event/action[@name="session_id"]/value)[1]', 'int') as action_session_id,    
    event_data.value ('(event/action[@name="sql_text"]/value)[1]', 'nvarchar(max)') as action_sql_text    
    from xevents    
go    
if exists (select * from sys.server_event_sessions where name = 'sqlws_xevents_attention')    
    drop event session sqlws_xevents_attention on server    
go    
create event session sqlws_xevents_attention on server    
    add event sqlserver.attention (action (sqlserver.client_app_name, sqlserver.client_hostname, sqlserver.database_name, sqlserver.nt_username, sqlserver.session_id, sqlserver.sql_text) where duration > 5000 )    
    add target package0.ring_buffer     
    with (event_retention_mode = ALLOW_SINGLE_EVENT_LOSS, memory_partition_mode = NONE)    
go    
/*    
alter event session sqlws_xevents_attention on server state = start    
go    
--Execute your workload    
with xevents (event_name)    
as    
(    
    select event.value ('(@name)[1]', 'varchar(max)') as event_name    
        from ((select cast (xest.target_data as xml) as target_data    
                from sys.dm_xe_sessions as xes    
                inner join sys.dm_xe_session_targets as xest on (xes.address = xest.event_session_address)    
                where xes.name = 'sqlws_xevents_attention' and xest.target_name = 'ring_buffer') as td    
            cross apply target_data.nodes ('//event[@name="attention"]') as x (event))    
)    
select event_name, count(*) from xevents    
    group by event_name    
go    
select * from sqlws_xev_attention    
go    
alter event session sqlws_xevents_attention on server state = stop    
go    
*/


調優建議


對于連接耗時,當然務必要找到具體原因,是網絡問題還是驗證問題;對于查詢超時,多為語句性能問題導致,如阻塞、未使用合理的索引、輸出數據量太大等原因。對于臨時解決問題,可以在連接配置里、或在程序里的語句級參數屬性調大配置值。當然應及時找出問題的根源并解決。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

如东县| 平江县| 西华县| 北票市| 恩施市| 康定县| 芦山县| 亳州市| 苏尼特左旗| 陇南市| 田林县| 太和县| 子长县| 集安市| 富蕴县| 平度市| 互助| 英吉沙县| 宜昌市| 略阳县| 高邑县| 九寨沟县| 泽州县| 诏安县| 毕节市| 阿克苏市| 西青区| 馆陶县| 龙胜| 靖西县| 遂川县| 德惠市| 云龙县| 高要市| 常熟市| 呼图壁县| 三穗县| 平顶山市| 方城县| 万年县| 西青区|