SQL2005 ビューデッドロック ストアドプロシージャ sp_who_lock
2022-01-09 21:14:30
以下は、デッドロック、ブロックSQL文のパフォーマンステストの過程で、監視のSQLサーバのデータベースの私のコンパイルは、まだ比較的準備ができている、戻って滞在。
コールメソッド:対応するデータベースを選択し、実行するexec sp_who_lockを
USE [master]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo]. [sp_who_lock]
as
begin
declare @spid int, @bl int, @intTransactionCountOnEntry int, @intRowcount int, @intCountProperties int, @intCounter int
create table #tmp_lock_who (
id int identity(1,1),
spid smallint,
bl smallint
)
IF @@ERROR<>0 RETURN @@ERROR
insert into #tmp_lock_who(spid,bl) select 0 ,blocked
from (select * from sysprocesses where blocked>0 ) a
where not exists(select * from (select * from sysprocesses where blocked>0 ) b
where a.blocked=spid)
union select spid,blocked from sysprocesses where blocked>0
IF @@ERROR<>0 RETURN @@ERROR
-- Find the number of records in the temporary table
select @intCountProperties = Count(*),@intCounter = 1
from #tmp_lock_who
IF @@ERROR<>0 RETURN @@ERROR
if @intCountProperties=0
select 'No blocking and deadlock messages now' as message
-- Loop start
while @intCounter <= @intCountProperties
begin
-- take the first row
select @spid = spid,@bl = bl
from #tmp_lock_who where Id = @intCounter
begin
if @spid =0
select 'The database deadlock is caused by: ' + CAST(@bl AS VARCHAR(10)) + 'Process number, the SQL syntax is as follows'
else
select 'Process number SPID: '+ CAST(@spid AS VARCHAR(10)) + 'Blocked by' + 'Process number SPID: '+ CAST(@bl AS VARCHAR(10)) + 'The syntax of the SQL executed by the current process is as follows'
DBCC INPUTBUFFER (@bl )
end
-- move the loop pointer down
set @intCounter = @intCounter + 1
end
drop table #tmp_lock_who
return 0
end
関連
-
Management StudioでWebブラウザを使用したSQL Server
-
WIN7でSQL Server 2005 Express Edition(Lite)のインストールと設定
-
SQLServer 2005でサーバー名がない場合の2つの解決策
-
SQL Server 2005における外部結合の使用法
-
SQL Server 2005 ミラー構築マニュアル(sql2005 データベース同期ミラーリングソリューション)
-
文字列中の最大の部分的インクリメンタルを計算する SQL メソッド
-
AccessからSQL Server 2005へのインポートの方法概要
-
SQL Server Connect to Server Error 233 の解決法
-
SQL Server 2005 と sql 2000 の間のデータ変換方法
-
[オリジナル】SQL2005再ビルドインデックスストアドプロシージャ sp_rebuild_index
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
SQL Serverは、SET FMTONLY ONでテーブルのメタデータを取得する
-
SQLserverにおけるdeclare変数の使用法
-
SQL Server のテーブルに CSV ファイルをインポートする方法
-
SQL Server 2005 Management Studio Express Enterprise Managerで英語を簡体字中国語に変換する方法
-
SQL Server 2005のデータベースでtempdbの場所を変更する方法
-
PowerDesignerでSQL Serverデータベースをインポートする方法
-
SQL server 2005でリモートデータベースをローカルにインポートする方法
-
SQL2005のプロバイダです。名前付きパイププロバイダエラー。40 SQL Server への接続を開くことができません
-
Sql Server 2005 のポート 1433 で LAN アクセスを開放し、リモート接続を行う。
-
SQL Server モバイルシステムデータベース