メタデータを同期する(SQLServer)

SQLServerからMashuへメタデータを同期するための設定手順と、必要なSQLServer側の権限について説明します

1. Mashuサーバーのセットアップ

SQL ServerからMashuへメタデータを取り込むためには、Mashuサーバーのセットアップが必要です。Mashuサーバーのセットアップ方法は https://services.robon.co.jp/ja/kb/mashu/server/mashu-server を参照してください。

2.メタデータソースの作成

SQL Serverのメタデータを同期するために、タイプとして「SQLServer」を選択してデータソースを作成します。。

3. SQL Serverへの接続情報設定

データソース画面の「接続設定」タブで、SQL Serverへの接続情報を設定します。

  • Host: MashuサーバーがSQL Serverへ接続するために使用する、SQL Serverのホスト名またはIPアドレスを指定します。

    • (注意)Docker環境での実行について: MashuサーバーがSQL Serverと同じホストマシン上のDockerコンテナ内で動作している場合、ホスト名として localhost を使用すると接続できません。Dockerコンテナからホストマシン上のSQL Serverを参照できるように、ホストマシンのIPアドレスや、お使いのDockerネットワーク環境に応じた適切な接続情報を指定してください。
  • Port: SQL Serverのポート番号を指定します。このフィールドを空欄にした場合、SQL Serverのデフォルトポート番号である 1433 が使用されます。

  • User: SQL Server認証で使用するログイン名を指定します。このログインは、接続対象のデータベース内で特定のデータベースユーザーにマッピング(関連付け)されている必要があります。

  • Password: 上記のログイン名に対応するパスワードを指定します。

  • Database: メタデータを同期する対象となるSQL Serverデータベースの名前を指定します。

    データソース-SQLServer

4. 必要なSQL Server権限

MashuがSQL Serverからメタデータを同期したり、データをプレビューしたりするためには、接続に使用するログインに紐づくデータベースユーザーに対して、適切な権限が付与されている必要があります。

4.1. メタデータ同期に必要な権限 (VIEW DEFINITION)

メタデータを同期するには、SQL Serverデータベース内のオブジェクト定義情報(テーブル構造、ビュー定義など)を読み取るための VIEW DEFINITION 権限が必要です。この権限は、メタデータ同期処理で使用するデータベースユーザーに対して付与します。

必要な権限の範囲に応じて、以下のいずれかの方法で権限を付与してください。

  • 4.1.1. 特定のスキーマのメタデータのみを同期する場合

    指定したデータベース内の特定のスキーマのみを対象にメタデータを同期するには、そのスキーマに対する VIEW DEFINITION 権限を該当のデータベースユーザーに付与する必要があります。

    GRANT VIEW DEFINITION ON SCHEMA::[対象のスキーマ名] TO [データベースユーザー名];
  • 4.1.2. データベース内の全てのスキーマのメタデータを同期する場合

    指定したデータベース内の全てのスキーマを対象にメタデータを同期するには、データベースレベルの VIEW DEFINITION 権限を該当のデータベースユーザーに付与する必要があります。

    GRANT VIEW DEFINITION TO [データベースユーザー名];

4.2. データプレビューに必要な権限 (SELECT)

テーブルやビューのデータ内容をプレビュー(表示・確認)するには、対象のオブジェクトに対する SELECT 権限が必要です。この権限は、データプレビュー機能を使用するデータベースユーザーに対して付与します。

必要な権限の範囲に応じて、以下のいずれかの方法で権限を付与してください。

  • 4.2.1. 特定のスキーマ内のオブジェクトのデータをプレビューする場合

    指定したデータベース内の特定のスキーマに属するテーブルやビューのデータをプレビューするには、そのスキーマに対する SELECT 権限を該当のデータベースユーザーに付与する必要があります。

    GRANT SELECT ON SCHEMA::[対象のスキーマ名] TO [データベースユーザー名];
  • 4.2.2. データベース内の広範なオブジェクトのデータをプレビューする場合

    指定したデータベース内の(スキーマを問わず)多くのテーブルやビューのデータをプレビューする必要がある場合は、データベースレベルで SELECT 権限を該当のデータベースユーザーに付与する方法があります。

    GRANT SELECT TO [データベースユーザー名];

5. 接続設定の保存とスキーマ選択

SQL Serverへの接続情報を入力後、「保存」ボタンをクリックします。SQL Serverへの接続に成功すると、メタデータを同期するスキーマを選択できるようになります。

同期したいメタデータが含まれるスキーマを選択してください。

データソース-SQLServer2

6. メタデータの同期実行

スキーマ選択後、メタデータソース画面の「メタデータ」タブに移動し、「メタデータ同期」ボタンをクリックすることで、SQL Serverからのメタデータ同期が開始されます。