自動清除資料庫程序堵塞的作業

2021-10-08 14:33:59 字數 721 閱讀 7094

/*如果某程序將其他堵塞超過55秒,則自動將其清除,並將其執行的語句報錯出來。可將語句建成作業,每分鐘執行一次。但有風險,不可作為常規用法,只能在短期內作為捕捉問題的工具,在有跟蹤的情況下使用*/

declare @sql nvarchar(4000),@spid int

select top 1 @spid = spid

from master..sysprocesses a where blocked = 0

and spid in (select blocked from master..sysprocesses where blocked<>0 and waittime > 55000)

if @@rowcount=0 return

set @sql = 'declare @tbl table(e varchar(2000),pa int,eventinfo varchar(4000)) insert @tbl exec(''dbcc inputbuffer(' + cast(@spid as varchar(10))

+ ')'') kill ' + cast(@spid as varchar(10)) + ' declare @msg varchar(4000) select @msg = eventinfo from @tbl set @msg=isnull(@msg,''no sql'') raiserror 50001 @msg'

exec(@sql)

清除資料庫死鎖程序

資料庫經常會由於某些資源占用而導致系統非常的緩慢,而重啟伺服器對使用者的體驗又不是很好,但是我們可以採取一種比較折中的辦法。1.查詢資料庫程序 select spid cast spid as varchar 20 from master.sysprocesses 2.做成批處理 create pr...

自動清除資料庫日誌滿的問題

1 首先先啟動 sql server 在 sql server 上滑鼠右鍵,點選 啟動 2 點選 管理 下面 維護計畫 滑鼠右鍵,選擇 新建維護計畫 重新命名或使用預設名稱直接點選確定,左側彈出如下圖所示 工具箱 窗體,選擇 執行 t sql 語句 任務,拖拽到右側區域,如下圖所示 3 雙擊 執行t...

python清除資料庫錯誤日誌

coding gbk from encodings import gbk import re import sys import os import pyodbc import traceback import decimal 連線資料庫 conn pyodbc.connect driver ser...