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

 
RE:  照会型アプリで DB  ロック

Date: Tue, 19 Jul 2005 13:47:05 +0900
From: who@sub.example.jp


--0__=46BBFAD0DF9F65E08f9e8a93df938690918c46BBFAD0DF9F65E0
Content-type: text/plain; charset=ISO-2022-JP

堀川さん ありがとうございます。

ご連絡遅れ大変もうしわけありません。



>>クライアント照会型アプリ*に対してDBロックがかかりました。

>「DBロック」とは、データベース単位のロックという意味ですか?

>ロックのエスカレーションが発生し、テーブルロックの次の単位になる、データ

ベースのロックということでしょうか?

   すみません。正確なロックの中味はトレースがなく不明です。

   今朝(7月19日)、たまたま、同じDTSによるバッチジョブを実行したところ、最初

   の照会で特段ロックは発生せず、問題の事象の確認ができませんでした。

   先日(7月13日)はバッチ終了時刻後 5分位で照会を行っていますが、今回は前日

   が土日祝日でバッチを前倒ししていたことで終了時刻後 90分位での照会でし

   た。

   SQLServerLogをみたところ、事象が発生する1時間前に、唯一以下のメッセージ

   が残っていたのでよくよく関連はないかと思いますが記します。

   【20050713;08244840'xpstar.dllバージョン' '19990412' を使用して拡張スト

   アドプロシージャ'sp.msgetversion'を実行します】



>どのようなSQL文やトランザクションを実行しているのかわからないので何とも言

えません。

   次のVBSはバッチの最後のタスク(データコンバート)です。

   Function Main()

      DTSDestination("個人番号") = DTSSource("Col001")

      DTSDestination("CD") = DTSSource("Col002")

      DTSDestination("郵便番号") = mid(DTSSource("Col003"),1,3) + "-" +

   mid(DTSSource("Col003"),4,4)

      DTSDestination("JISコード") = DTSSource("Col004")

      DTSDestination("ACF_地区") = DTSSource("Col005")

      DTSDestination("ACF_町村") = DTSSource("Col006")

      DTSDestination("ACF_大字") = DTSSource("Col007")

      DTSDestination("ACF_住所CD") = DTSSource("Col008")

      DTSDestination("漢字住所") = DTSSource("Col009")

      DTSDestination("カナ住所") = DTSSource("Col010")

      DTSDestination("電話番号1") = DTSSource("Col011")

      DTSDestination("電話番号2") = DTSSource("Col012")

      Main = DTSTransformStat_OK

   End Function



   照会のSQL文は

   Select * from H35PCVIEW where 個人番号 =xxxxxxxx

   H35PCVIEWは簡略化すれば次のビューです。

   CREATE VIEW dbo.H35PCVIEW AS SELECT テーブル項目,名称  FROM テーブル

   LEFT OUTER JOIN 名称テーブル ON テーブルの名称コード = 名称テーブルの項

   目コード



>ただ通常はジョブが終われば、ロックは解除されます。

>しかしながら、自分でロックヒントを使いながらロックのチューニング等を行なう

ようなSQL文を実行し、何らかのエラーが発生し、ジョブが終了した

場合に、自分が確保しているロックを外すのを忘れていたようなことは考えられな

いでしょうか?

   自分では特段ロックのチュウニングなど行うような高度なSQL文は組んでおりま

   せんでした。

   ロックに至るには何らかの理由があったと思いますが、一過性のもので何らかの

   タイミングで不具合が生じたと考えて良いでしょうか。

--0__=46BBFAD0DF9F65E08f9e8a93df938690918c46BBFAD0DF9F65E0
Content-type: text/html; charset=ISO-2022-JP
Content-Disposition: inline

<html><body><font face="MS Pゴシック">堀川さん ありがとうございます。</font><br>
<font face="MS Pゴシック">ご連絡遅れ大変もうしわけありません。</font><br>
<br>
<font face="MS Pゴシック">&gt;&gt;クライアント照会型アプリ*に対してDBロックがかかりました。<br>
&gt;「DBロック」とは、データベース単位のロックという意味ですか?<br>
&gt;ロックのエスカレーションが発生し、テーブルロックの次の単位になる、データベースのロックということでしょうか?</font>
<ul><font face="MS Pゴシック">すみません。正確なロックの中味はトレースがなく不明です。</font><br>
<font face="MS Pゴシック">今朝(7月19日)、たまたま、同じDTSによるバッチジョブを実行したところ、最初の照会で特段ロックは発生せず、問題の事象の確認ができませんでした。</font><br>
<font face="MS Pゴシック">先日(7月13日)は</font><u><font face="MS Pゴシック">バッチ終了時刻後 5分位</font></u><font face="MS Pゴシック">で照会を行っていますが、今回は前日が土日祝日でバッチを前倒ししていたことで</font><u><font face="MS Pゴシック">終了時刻後 90分位</font></u><font face="MS Pゴシック">での照会でした。</font><br>
<font face="MS Pゴシック">SQLServerLogをみたところ、事象が発生する1時間前に、唯一以下のメッセージが残っていたのでよくよく関連はないかと思いますが記します。</font><br>
<font face="MS Pゴシック">【20050713;08244840'xpstar.dllバージョン' '19990412' を使用して拡張ストアドプロシージャ'sp.msgetversion'を実行します】</font><br>
</ul>
<font face="MS Pゴシック">&gt;どのようなSQL文やトランザクションを実行しているのかわからないので何とも言えません。</font>
<ul><font face="MS Pゴシック">次のVBSはバッチの最後のタスク(データコンバート)です。</font><br>
<font face="MS Pゴシック">Function Main()</font><br>
<font face="MS Pゴシック">	DTSDestination(&quot;個人番号&quot;) = DTSSource(&quot;Col001&quot;)</font><br>
<font face="MS Pゴシック">	DTSDestination(&quot;CD&quot;) = DTSSource(&quot;Col002&quot;)</font><br>
<font face="MS Pゴシック">	DTSDestination(&quot;郵便番号&quot;) = mid(DTSSource(&quot;Col003&quot;),1,3) + &quot;-&quot; + mid(DTSSource(&quot;Col003&quot;),4,4) </font><br>
<font face="MS Pゴシック">	DTSDestination(&quot;JISコード&quot;) = DTSSource(&quot;Col004&quot;)</font><br>
<font face="MS Pゴシック">	DTSDestination(&quot;ACF_地区&quot;) = DTSSource(&quot;Col005&quot;)</font><br>
<font face="MS Pゴシック">	DTSDestination(&quot;ACF_町村&quot;) = DTSSource(&quot;Col006&quot;)</font><br>
<font face="MS Pゴシック">	DTSDestination(&quot;ACF_大字&quot;) = DTSSource(&quot;Col007&quot;)</font><br>
<font face="MS Pゴシック">	DTSDestination(&quot;ACF_住所CD&quot;) = DTSSource(&quot;Col008&quot;)</font><br>
<font face="MS Pゴシック">	DTSDestination(&quot;漢字住所&quot;) = DTSSource(&quot;Col009&quot;)</font><br>
<font face="MS Pゴシック">	DTSDestination(&quot;カナ住所&quot;) = DTSSource(&quot;Col010&quot;)</font><br>
<font face="MS Pゴシック">	DTSDestination(&quot;電話番号1&quot;) = DTSSource(&quot;Col011&quot;)</font><br>
<font face="MS Pゴシック">	DTSDestination(&quot;電話番号2&quot;) = DTSSource(&quot;Col012&quot;)</font><br>
<font face="MS Pゴシック">	Main = DTSTransformStat_OK </font><br>
<font face="MS Pゴシック">End Function</font><br>
<br>
<font face="MS Pゴシック">照会のSQL文は</font><br>
<font face="MS Pゴシック">Select * from H35PCVIEW where 個人番号 =xxxxxxxx</font><br>
<font face="MS Pゴシック">H35PCVIEWは簡略化すれば次のビューです。</font><br>
<font face="MS Pゴシック">CREATE VIEW dbo.H35PCVIEW AS SELECT テーブル項目,名称  FROM テーブル LEFT OUTER JOIN 名称テーブル ON テーブルの名称コード = 名称テーブルの項目コード</font></ul>
<font face="MS Pゴシック"><br>
&gt;ただ通常はジョブが終われば、ロックは解除されます。<br>
&gt;しかしながら、自分でロックヒントを使いながらロックのチューニング等を行なうようなSQL文を実行し、何らかのエラーが発生し、ジョブが終了した<br>
場合に、自分が確保しているロックを外すのを忘れていたようなことは考えられないでしょうか?</font>
<ul><font face="MS Pゴシック">自分では特段ロックのチュウニングなど行うような高度なSQL文は組んでおりませんでした。</font><br>
<font face="MS Pゴシック">ロックに至るには何らかの理由があったと思いますが、一過性のもので何らかのタイミングで不具合が生じたと考えて良いでしょうか。</font></ul>
</body></html>
--0__=46BBFAD0DF9F65E08f9e8a93df938690918c46BBFAD0DF9F65E0--



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


[ウィンドを閉じる]

[MSDE/SQLServer FAQ ]

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

MSDE TOP ページに移動する

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