記事一覧

ランキング登録しています
ご迷惑じゃなければボタンを押してくださいm(_ _)m
にほんブログ村 アウトドアブログ 登山へ
にほんブログ村 人気ブログランキングへ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

メモ帳 Sqlserver2000 デッドロック確認方法と出し方

SQLServer2000の場合


トレース フラグ機能がいくつかあり、起動する事によって
障害の確認取れる場合がある。

今回はデッドロックについて。
いつもこれで悩まされる・・・


今回使うトレース フラグ
1204
デッドロックに関係しているロックのリソースと種類、
および影響を受けている現在のコマンドを返します。

3605
その情報が SQL Server エラー ログに書き込まれます。

1205
サンプルには入れておきますが、
別に入れなくても大丈夫程度のもの。




ログ開始コマンド
==============================

dbcc traceon (1204,1205, 3605, -1)
go
dbcc tracestatus(-1)
go

==============================


上記コマンドにて、
それぞれのトレースフラグがONになりました。
これ以降はログが出ます。


■デッドロック強制テスト

2つのクエリ画面立ち上げた後に、
①⇒②⇒③⇒④のタイミングで投げつけます。


Table名:AAA_HEAD
キー:Id
A

begin transaction;
select * from AAA_HEAD with(rowlock,updlock) where Id='1';

select * from AAA_HEAD with(rowlock,updlock) where Id='2';


B

begin transaction;
select * from AAA_HEAD with(rowlock,updlock) where Id='2';

select * from AAA_HEAD with(rowlock,updlock) where Id='1';


デットロックエラーが発生するはずです。
後はLogを入手し停止させます。


ログ停止コマンド
==============================

DBCC TRACEOFF (1204,1205,3205, -1);
GO
dbcc tracestatus(-1)
go

==============================


ログを出すのは問題ないですが、
ログの容量はかなり増えます・・・
使用しない場合はさっさと止めた方が良いです。







スポンサーサイト

コメント

コメントの投稿

非公開コメント

プロフィール

のん

Author:のん
嫁と結婚して4年半・・・
女?? 嫁以外興味なし♪
嫁大好きっす!!!!!!!

その他登山も開始。
登山初めて約2年。
まだまだ初心者ではありますが、
宜しくお願いします♪

リンク、ブロとも大募集です。
こちらも揃って宜しくお願いします★

マイプロテインの紹介コードになります。
VKLZ-R1
これを使えば購入時に割引が利きますので
もし良ければ使って下さい^^

最新トラックバック

カテゴリ

C# (5)

訪問者数


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。