加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

SQL Server异常处置怎么样做?

发布时间:2022-04-26 09:33:42 所属栏目:系统 来源:互联网
导读:SQL Server常见的问题主要是SQL问题造成,常见的主要是CPU过高和阻塞。关于SqlServer异常处理常用步骤有哪些呢?大家了解吗?下面小编通过本篇文章给大家介绍SqlServer异常处理常用步骤,感兴趣的朋友就继续往下看吧。 SQL Server常见的问题主要是SQL问题造
         SQL Server常见的问题主要是SQL问题造成,常见的主要是CPU过高和阻塞。关于SqlServer异常处理常用步骤有哪些呢?大家了解吗?下面小编通过本篇文章给大家介绍SqlServer异常处理常用步骤,感兴趣的朋友就继续往下看吧。
 
          SQL Server常见的问题主要是SQL问题造成,常见的主要是CPU过高和阻塞。
 
    一、CPU过高的问题
 
    1、查询系统动态视图查询执行时间长的sql语句
 
WITH ProcessCTE(blocked) AS
(
  SELECT spid FROM sys.sysprocesses WHERE cpu>500
)
SELECT distinct a.*
 FROM (
   SELECT TEXT,AA.* FROM sys.sysprocesses AA
    CROSS APPLY sys.dm_exec_sql_text(AA.sql_handle)
    ) a
 JOIN ProcessCTE bucte WITH(NOLOCK)
  ON bucte.blocked=a.spid
 --where loginame = 'TCScenery'
 ORDER BY a.CPU
    二、阻塞问题
 
    1、查询系统动态视图查询阻塞的sql语句
 
WITH ProcessCTE(blocked) AS
(
  SELECT blocked FROM sys.sysprocesses WHERE blocked>0
  union
  SELECT blocked FROM sys.sysprocesses WHERE blocked>0
 
    2、使用系统自带的存储过程
 
    Sp_who2和sp_lock以及使用dbcc inputbuffer(spid) 也可以用来分析阻塞
 
    sp_who可以返回如下信息: (可选参数LoginName, 或active代表活动会话数)
    Spid         (系统进程ID)
    status      (进程状态)
    loginame  (用户登录名)
    hostname(用户主机名)
    blk           (阻塞进程的SPID)
    dbname   (进程正在使用的数据库名)
    Cmd        (当前正在执行的命令类型)
 
    sp_who2除了显示上面sp_who的输出信息外,还显示下面的信息:  (可选参数LoginName, 或active代表活动会话数)
    CPUTime           (进程占用的总CPU时间)
    DiskIO              (进程对磁盘读的总次数)
    LastBatch         (客户最后一次调用存储过程或者执行查询的时间)
    ProgramName  (用来初始化连接的应用程序名称,或者主机名)
 
    下面是sp_who的用法,sp_who2与此类似

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读