ホームページ > バックエンド開発 > PHPチュートリアル > 現在のプロセスまたはデッドロックプロセスを確認し、デッドプロセスを自動的に強制終了する_PHP チュートリアル

現在のプロセスまたはデッドロックプロセスを確認し、デッドプロセスを自動的に強制終了する_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:02:39
オリジナル
1048 人が閲覧しました

/*--デッドロックの処理
現在のプロセスまたはデッドロックプロセスを表示し、デッドロックプロセスを自動的に強制終了することができます
デッドロック用なので、デッドロックプロセスがある場合はデッドロックプロセスのみを表示できます
もちろん、 pass パラメータ制御、デッドロックの有無にかかわらず、デッドロックプロセスのみが表示されます
--Zou Jian 2004.4--*/
/*--call example
exec p_lockinfo
--*/
create proc p_lockinfo
@kill_lock_spid bit=1 , --デッドロックプロセスを強制終了するかどうか、1で強制終了、0で表示のみ
@show_spid_if_nolock bit=1 --デッドロックプロセスがない場合、通常のプロセス情報を表示するかどうか、1で表示、0で非表示表示
as
declare @ count int,@s nvarchar(1000),@i int
select id=identity(int,1,1),flag,
プロセス ID=spid、スレッド ID=kpid、ブロック プロセス ID=blocked 、データベースID=dbid、
データベース名=db_name(dbid)、ユーザーID=uid、ユーザー名=loginame、累積CPU時間=cpu、
ログイン時間=login_time、オープントランザクション数=open_tran、プロセスステータス=status、
ワークステーション名前=ホスト名、アプリケーション名=プログラム名、ワークステーションプロセスID=ホストプロセス、
ドメイン名=nt_domain、ネットワークカードアドレス=ネットアドレス
into #t from(
select flag='デッドロックプロセス',
spid,kpid,a.blocked, dbid,uid,loginame ,cpu,login_time,open_tran,
status,hostname,program_name,hostprocess,nt_domain,net_address,
s1=a.spid,s2=0
マスターから..sys は参加を処理します (
マスターからブロックされたものを選択します。 .sysprocesses は、a.spid=b.blocked でブロックされた
)b でグループ化します。ここで、a.blocked=0
Union all
select '|_victim_>',
spid,kpid,blocked,dbid,uid,loginame,cpu,login_time, open_tran,
status,hostname,program_name,hostprocess,nt_domain,net_address,
s1=blocked,s2=1
マスターから..sysprocesses がブロックされている場所<>0
)s1,s2 による注文
select @count=@ @rowcount ,@i=1
@count=0 かつ @show_spid_if_nolock=1 の場合
begin
insert #t
select flag='normal process',
spid,kpid,blocked,dbid,db_name(dbid),uid,loginame 、cpu、login_time、
open_tran、status、hostname、program_name、hostprocess、nt_domain、net_address
master..sysprocesses から
set @count=@@rowcount
end
if @count>0
begin
create table #t1(id intidentity(1,1),a nvarchar(30),b Int,EventInfo nvarchar(255))
if @kill_lock_spid=1

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631035.html技術記事 /*--デッドロックを処理し、現在のプロセスまたはデッドロックされたプロセスを表示し、デッドロックを対象としているため、デッドロックされたプロセスがある場合は、当然、デッドロックされたプロセスのみを表示できます。パラメータを渡します.. .
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート