• ベストアンサー

DTSの仕様について

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

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

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

ash_fxdash
質問者

お礼

ありがとうございます。 やはりそうですか・・・ 元々、更新を止めることが出来ないテーブルで通常のSELECTは出来ず NOLOCK参照をしていたのですが、データ重複や欠落が起きるので、な んとかいい方法はないものかと考えていたのです。 こういう場合は、レプリケーションで作るもんなんですかね?

その他の回答 (1)

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

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

ash_fxdash
質問者

お礼

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

関連するQ&A