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ゴシック">>>クライアント照会型アプリ*に対してDBロックがかかりました。<br>
>「DBロック」とは、データベース単位のロックという意味ですか?<br>
>ロックのエスカレーションが発生し、テーブルロックの次の単位になる、データベースのロックということでしょうか?</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ゴシック">>どのようなSQL文やトランザクションを実行しているのかわからないので何とも言えません。</font>
<ul><font face="MS Pゴシック">次のVBSはバッチの最後のタスク(データコンバート)です。</font><br>
<font face="MS Pゴシック">Function Main()</font><br>
<font face="MS Pゴシック"> DTSDestination("個人番号") = DTSSource("Col001")</font><br>
<font face="MS Pゴシック"> DTSDestination("CD") = DTSSource("Col002")</font><br>
<font face="MS Pゴシック"> DTSDestination("郵便番号") = mid(DTSSource("Col003"),1,3) + "-" + mid(DTSSource("Col003"),4,4) </font><br>
<font face="MS Pゴシック"> DTSDestination("JISコード") = DTSSource("Col004")</font><br>
<font face="MS Pゴシック"> DTSDestination("ACF_地区") = DTSSource("Col005")</font><br>
<font face="MS Pゴシック"> DTSDestination("ACF_町村") = DTSSource("Col006")</font><br>
<font face="MS Pゴシック"> DTSDestination("ACF_大字") = DTSSource("Col007")</font><br>
<font face="MS Pゴシック"> DTSDestination("ACF_住所CD") = DTSSource("Col008")</font><br>
<font face="MS Pゴシック"> DTSDestination("漢字住所") = DTSSource("Col009")</font><br>
<font face="MS Pゴシック"> DTSDestination("カナ住所") = DTSSource("Col010")</font><br>
<font face="MS Pゴシック"> DTSDestination("電話番号1") = DTSSource("Col011")</font><br>
<font face="MS Pゴシック"> DTSDestination("電話番号2") = DTSSource("Col012")</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>
>ただ通常はジョブが終われば、ロックは解除されます。<br>
>しかしながら、自分でロックヒントを使いながらロックのチューニング等を行なうような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 技術サポート情報一覧]
|