语言吧技术网欢迎您投稿,程序员的世界我懂你!=====>点此登录投搞
当前位置: 首页 >>数据库 >>MSSQL >>在MSSQL中查看正在执行的SQL语句的方法

在MSSQL中查看正在执行的SQL语句的方法

2019/7/26 9:13:45 0人评论 186次 作者:admin

数据库在更改时可能出现错误,在查询时相对麻烦,因此在我迫切希望能找到相关出错的SQL语句,下面我们提供在MSSQL中查看正在执行的SQL语句的方法…

SELECT TOP 50

 (total_logical_reads + total_logical_writes) AS total_logical_io,

 (total_logical_reads / execution_count) AS avg_logical_reads,

(total_logical_writes / execution_count) AS avg_logical_writes,

(total_physical_reads / execution_count) AS avg_phys_reads,

substring (st.text,

(qs.statement_start_offset / 2) + 1,

((CASE qs.statement_end_offset WHEN -1

 THEN datalength (st.text)

ELSE qs.statement_end_offset END

 - qs.statement_start_offset)/ 2)+ 1)

 AS statement_text,

*

FROM sys.dm_exec_query_stats AS qs

 CROSS APPLY sys.dm_exec_sql_text (qs.sql_handle) AS st

ORDER BY total_logical_io DESC 




READ_COMMITED方法开启



SQL Server开启READ_COMMITTED_SNAPSHOT

--查询数据库状态

select name,user_access,user_access_desc,

    snapshot_isolation_state,snapshot_isolation_state_desc,

    is_read_committed_snapshot_on

from sys.databases

 

--设置数据库为SINGLE_USER模式,减少锁定时间

ALTER DATABASE prjidbzzh SET SINGLE_USER WITH ROLLBACK IMMEDIATE

ALTER DATABASE prjidbzzh SET ALLOW_SNAPSHOT_ISOLATION ON

ALTER DATABASE prjidbzzh SET READ_COMMITTED_SNAPSHOT ON

ALTER DATABASE prjidbzzh SET MULTI_USER


相关文章

CopyRight:2007-2018 语言吧 备案ICP:湘ICP备09009000号-15 http://www.yuyanba.com
欢迎【广东省 广州市】的朋友
内容与素材部分来源于网络,如有侵权请告知删除
分享按钮