電子書籍の厳選無料作品が豊富!

DTSのエクスポート/インポート機能を使って静的なデータベースを
作成しようと考えてます。
ただ読み込み元のDBには、共有ロックなどの影響は、与えたくなく
DTSを用いた場合の読み込み元のDBに対する影響について教えて頂けるとありがたいです。

よろしくお願いいたします。

A 回答 (2件)

読み込み元のDBがSQL Serverという前提で。


DTSでもそうでなくても、通常はトランザクション分離レベルはREAD COMMITEDですので、共有ロックはかかります。
したがって、共有ロックをかけたくないのであれば、データ変換元などの指定で読み込み元のテーブルをSELECTするときに、
テーブルヒントを付けることで、共有ロックをかけないようにすることになると思います。
SELECT * FROM TABLE1(NOLOCK)

共有ロックをかけないでSELECTするというのは、SQL ServerではREAD UNCOMMITEDで読み込むということですから、
ダーティリードは許容することが前提です。
    • good
    • 0
この回答へのお礼

ありがとうございます。

やはりそうですか・・・
元々、更新を止めることが出来ないテーブルで通常のSELECTは出来ず
NOLOCK参照をしていたのですが、データ重複や欠落が起きるので、な
んとかいい方法はないものかと考えていたのです。

こういう場合は、レプリケーションで作るもんなんですかね?

お礼日時:2009/03/10 21:45

>レプリケーションで作るもんなんですかね?


そう思います。リアルタイムに近い状態で照会したいならトランザクションレプリケーションを設定するでしょう。
データの反映タイミングの許容度によってログ配布やスナップショットも検討対象にはなるでしょうが。
    • good
    • 0
この回答へのお礼

なるほど。
厳密にリアルタイムで照会したいわけではないので、ログシッ
プあたりで検討してみます。

回答ありがとうございました。助かりました。

お礼日時:2009/03/11 11:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す