MSDE FunClub
Microsoft Data Engine FunClub
MSDE技術者向けメーリングリスト過去ログ[829]番
 
[TOP]>[MSDE技術者向けメーリングリスト過去ログ(829番)]>[ウィンドを閉じる]
 
SQLServer2005時代でも
開発の基本は T-SQL
上巻で T-SQL の基礎作り
 
SQLServer2005時代でも
運用の基本はバックアップ
下巻でバックアップ手法を学びましょう
PASSJ人気コンテンツで学んだ後は下巻でさらなる学習を!
 
ウィンドを閉じる
MSDE/SQLServer FAQ
MSDE / MSDE2000 
技術情報サポート
初心者向け
メーリングリスト
過去ログの表示
技術者向け
メーリングリスト
過去ログの表示
メーリングリスト
活動状況の
表示
MSDE TOP メニュー
MSDEトップメニューに移動します
 

 
Re: ロックの動作

Date: Wed, 31 Oct 2001 09:04:21 +0900
From: Kenji Tani <who@example.co.jp>


From:          新田 則之  <who@sub.example.jp>
Date:           Tue, 30 Oct 2001 22:08:44 +0900
Message-ID: who@sub.example.jp
Subject:       [ml-msde:00828] Re: ロックの動作(長文)

おはようございます。
谷です。

> > > 上記の2行(改行で4行)が、クエリ終了後だと思われます。
> > ちなみに、コミットはしていません。
> > コミットした場合は、現れませんでした。

> > 故に、SELECT 文が処理されている間なら、
> > 別のセッションのSELECT文の処理が行えるかもしれないですね。
> 
> と言われていましたが、これは
> 
>   「トランザクション開始後にSELECT文を処理した場合
>    そのトランザクションが終了するまでは
>    別セッションのSELECT文の処理が行えるかもしれない」

はい。あくまでも仮説ですが。
私の入手したトレース結果から推測なのですが、
始めのセッションでは、読み取り中 S ロックが使用されていました。
読み取り終了後に、X ロックになっていると思われるので、
S ロックの間だけであれば、読み取り可能かな、と思いました。
(読み取り終了後かどうかに自信が持てませんが。)

# Books Online の UPDLOCK の記述とは食い違っています。
# 共有ロックの代わりに更新ロックを使用するはずなのですが。

ただ、テストとして
Begin
    waitfor time 'hh:mm'
    Begin tran
        select * from authors with (tablock,updlock)
END
と
Begin
    waitfor time 'hh:mm'
    Begin tran
        select * from authors with (tablock)
END
を同時刻指定として、上から順に実行した場合でも、
下のセッションは、ロックウエイトしておりました。

また、
select * from [テーブル名] with (ROWLOCK, UPDLOCK)
の動作では、
ROWLOCK 及び UPDLOCK がかかっているため、
別のセッションでの読み取りが可能でした。

> 最終的な目標は、上記の4の処理を無事完了させることなのですが…

お役に立てなくて申し訳ないと思います。


-- 
With best regards.

Kenji Tani
Otsuka Corp. Kansai Technical Solution Center
Phone: 06-6456-2640 Fax: 06-6456-2619
Email: who@example.co.jp



[MSDE/SQLServerに関して、今、どんなことにお困りですか?]
よろしければお困りの内容を、電子メールで教えて下さい。
質問を電子メールで作成する


[ウィンドを閉じる]

[MSDE/SQLServer FAQ ]

[MSDE / MSDE2000 技術サポート情報一覧]

MSDE TOP ページに移動する

 
 
 
 
 
 
 
MSDE FunClubに関するご意見・ご要望等ございましたら、
msdefun@horikawa.ne.jp までご連絡下さい。
MSDEを始めとする各種データベースシステムの開発、コンサルタントに関するご要望等は、
msdedev@horikawa.ne.jp までご連絡下さい。