第 4 章 SQL Server 2000 でのデータの拡張と変換~ MCDBA をめざそう!! ~

NRI ラーニング ネットワーク株式会社

技術研修部

清藤 めぐみ

2001年12月21日

はじめに

MCP 試験を受験される方はご存知かと思いますが、Microsoft のサイト(https://www.microsoft.com/japan/learning/mcp/exam.aspx?cert=1&id=70-228leave-site.gif)で試験範囲を確認することができます。一度は目を通しておくことをお勧めします。本連載は、試験トピックスの章立てに併せてポイントを解説していきます 

目次

1. データ変換サービス(DTS)パッケージの開発と管理 データ変換サービス(DTS)パッケージの開発と管理
2. リンクサーバ リンクサーバ
3. レプリケーションサービスの構成、保守およびトラブルシューティング レプリケーションサービスの構成、保守およびトラブルシューティング

複数の SQL Server や、その他のデータベースを使用したときのデータの管理方法を確認しましょう。

「SQL Server 2000 でのデータの拡張と変換」では次の項目がポイントとなります。

  • データ変換サービス(DTS)パッケージの開発と管理

  • リンクサーバの管理

  • レプリケーションサービスの構成、保守、およびトラブルシューティング

1. データ変換サービス(DTS)パッケージの開発と管理

DTS パッケージとは、変換の一部として実行される作業を独立した形で記述したものです(図 1-1)。各 DTS パッケージには、一連の順序で実行するように定義した、1 つ以上のステップがあります。

図

1-1 テーブルを削除後、再作成をしてデータを登録するパッケージ

DTS パッケージを作成するには、次のツールを使用します。

  • DTS インポート/エクスポートウィザード

  • DTS デザイナ

COM オートメーションをサポートする言語(VB、VC++)

DTS パッケージは、スケジュールをたててあとで実行できるように保存することができます。スケジュールの設定は、DTS インポート/エクスポートウィザードを使用するか、SQL Server Enterprise Manager でジョブを作成し、オペレーティングシステムコマンド(CmdExec)の dtsrun コマンドを使用します。dtsrun コマンドの例は次のとおりです。

dtsrun /S Tokyo /U SQLAdmin /N CustomerList 

    /S SQLサーバ名

    /U ユーザログイン名

    /N パッケージ名

また、DTS パッケージを保存するときには、パスワードを設定してセキュリティをかけることも可能です。セキュリティには、2 つのレベルがあります。(図 1-1)

  • 所有者パスワード

  • ユーザパスワード

所有者パスワードを知っているユーザは、DTS パッケージの編集、実行が可能です。ユーザパスワードは所有者パスワードがあるときのみ設定できます。ユーザパスワードを知っているユーザは DTS パッケージの実行のみ行えます。

図

1-2 DTS パッケージを保存するときに所有者パスワードとユーザパスワードの設定ができる

参照:     MSUテキスト「SQL Server 2000 システム管理 (P.473~474、P.481~483)

Books Online(DTSツール、dtsrun ユーティリティ)

2. リンクサーバ

リンクサーバを設定すると、異なるサーバ上の OLE DB データソースに対して、コマンドを実行することができます。リンクサーバには、次のようなメリットがあります。

  • リモートサーバにアクセスできる

  • データソースに対して、分散クエリ、更新、分散トランザクションを実行できる

    (分散トランザクションを実行するには DTC サービスが必要)

リンクサーバを使用するときの構成は図 2-1 のようになります。

図

2-1 リンクサーバを使用したときの構成図

リンクサーバを追加するには、sp_addlinkedserver を使用するか、Enterprise Manager を使用して、図 2-2 のように設定します。

図

2-2 リンクサーバの追加( Enterprise Manager

また、SQL Server とリモートサーバとで照合順序が異なる場合は、リモートサーバの照合順序を使用するように設定するか、使用する照合順序を設定することができます(図 2-2)。

図

2-3 リンクサーバのオプション

参照:     MSUテキスト「SQL Server 2000 システム管理 (P.239~241)」

   Books Online(リンクサーバの設定、sp_addlinkedserver)

3. レプリケーションサービスの構成、保守およびトラブルシューティング

レプリケーションは、あるデータベースから別のサーバ上にあるデータベースに最新の情報を複製する機能です。レプリケーションには 3 種類あります(表 3-1)。

種類

特徴

スナップショットレプリケーション

毎回データ全体をそのままコピーし、配布する

トランザクションレプリケーション

初回はスナップショットでデータ全体をコピーし、その後、データが変更されると個別のトランザクションに基づき、配布側のデータを更新する

マージレプリケーション

初回はスナップショットでデータ全体をコピーし、複数のサイトで行われたデータの変更を、一貫性のある結果にマージする

3-1 レプリケーションの種類

レプリケーションでは、3 つのサーバの役割があります。

  • パブリッシャ

    ソースデータベース(パブリケーションデータベース)を持ち、他のサーバへのレプリケーションにデータを使用できるようにするサーバ。データの変更内容をディストリビュータに送信する。

  • ディストリビュータ

    ディストリビューションデータベースを持ち、メタデータ、ヒストリデータ、トランザクションを格納するサーバ。変更内容をサブスクライバに送信する。ディストリビュータは、パブリッシャと同じサーバに設定しても、別のサーバに設定してもかまわない。

  • サブスクライバ

    データのコピーを持ち、変更内容を受信するサーバ。

パブリッシャ、ディストリビュータを設定した後、パブリッシュするデータなどを定義したパブリケーションを作成します。その後,プッシュサブスクリプションもしくはプルサブスクリプションを定義し、レプリケーションのスケジュールとオプションを設定します。

  • プッシュサブスクリプション

    パブリッシャでレプリケーションを開始する。

    サブスクリプションの管理を集中化する

    変更が発生するとすぐに変更内容をサブスクライバに送る必要がある場合に使用する。

  • プルサブスクリプション

    サブスクライバでレプリケーションを開始する。

    データ変更の同期をとるタイミングをサブスクライバ上で指定できる。

    インターネットを使用する場合など、セキュリティが低い場合、および、多数のサブスクライバをサポートするパブリケーションのときに使用する。

参照:     MSUテキスト「SQL Server 2000 システム管理 (P.544、P.547~548、P.552~553)」

   Books Online(レプリケーションの種類について、パブリッシャ、ディストリビュータとサブスクライバ)

4 章の内容は SQL Server 2000 システム管理のテキストにかなり記載がありますが、リンクサーバに関してはあまり触れられていません。Books Online で確認するようにしましょう!

mcdba.jpg

清藤   めぐみ : 1997 年に Microsoft 認定トレーナ(MCT)の資格を取得し、Windows NT のトレーニングを担当するようになりました。現在は NRI ラーニングネットワークに所属し、Windows 2000 などのトレーニングや、技術書籍の監修を行う毎日で、あっという間に時間が過ぎてしまいます。そんな状態なので、最近はちょっとストレスがたまり気味。ストレス解消のため、ショッピングにはまってしまい、財布の中身が心許ない今日この頃です。 皆さんのご期待にそえるような記事作りをめざしていきます。よろしくお願いします。