Microsoft SQL Serverでデータベースを設定 - 7.3

Linux版Talend Data Catalogインストール&アップグレードガイド

Version
7.3
Language
日本語 (日本)
EnrichDitaval
linux
Product
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Data Catalog
Content
インストールとアップグレード
使用しているデータベースが互換性があるデータベースの要件と以下の要件を満たしていることを確認します。

データベースの要件1 - 混合認証モード

混合認証モードは通常、SQL Serverのインストール処理中に設定されます。

混合認証モードの検証または変更は、SQL Server Management Studioを使って行います。
  1. サインインして、ツリーのルート(SQL Server Expressのインスタンス)を右クリックします。
  2. [Security] (セキュリティ)に移動します。
  3. [SQL Server and Windows Authentication mode] (SQL ServerとWindows認証モード)を選択します。

データベース要件2 - TCP/IPプロトコルが有効であること

TCP/IPプロトコルが、SQL Server Configuration Manager内で、名前付きインスタンスとクライアントプロトコルの両方に対して有効になっている必要があります。変更後にサービスを再起動します。

データベース要件3 - データベースの所有者

Talend Data CatalogをSQL Serverデータベースに接続するデータベースログインは、データベースの所有者である必要があります。

データベースのプレパレーション

  1. サーバー管理者ロールを持つユーザーとしてSQL Serverにログインします。
  2. SQL Serverのバージョンに応じてCLRの厳密なセキュリティを設定します。

    データベースメンテナンスなどのデータベース集約的な操作はすべて、MIRRepoと呼ばれるストアドプロシージャアセンブリでコンパイルされたC#で書かれたストアドプロシージャにより、SQL Serverに実装されています。このアセンブリは、SAFEに設定された権限で作成されるようにサインされています。

    • SQL Server 2017以降を使っている場合、CLRの厳密なセキュリティはデフォルトで有効になっています。以下の手順のいずれか1つを実行する必要があります。

      • データベース内のストアドプロシージャーアセンブリにサインするために使う証明書をインポートし、次のコマンドを使ってUNSAFEアセンブリ権限を付与する。
          CREATE CERTIFICATE MIRRepoCert FROM BINARY =
        0x308203663082024ea00302010202045eece216300d06092a864886f70d01010b05003075310b30090603550406130255533113301106035504080c0a43616c69666f726e69613116301406035504070c0d4d6f756e7461696e2056696577312a3028060355040a0c214d65746120496e746567726174696f6e20546563686e6f6c6f67792c20496e632e310d300b06035504030c044d6d4462301e170d3230303630313037303030305a170d3330303630313037303030305a3075310b30090603550406130255533113301106035504080c0a43616c69666f726e69613116301406035504070c0d4d6f756e7461696e2056696577312a3028060355040a0c214d65746120496e746567726174696f6e20546563686e6f6c6f67792c20496e632e310d300b06035504030c044d6d446230820122300d06092a864886f70d01010105000382010f003082010a0282010100c2ccf729a28a90958f71a68f6acca9f20b5c256b7c76565b2ece0cd1789bec85e9ab538ac38dc268e48c10e17d3eca1aeb14034bc67bafc05475ed013495aada683c74885f12a8bdbf2025ec3c5a0172010e7055ab27a853e77611ee6ae846453702d18ae3080977ddaee50a282b9dab3f077fe1630804b24f05c58280621dc1426fff7115e8a791435687096c09f754608bb9a6ce00002f7131f09cffd417678bddb8f7a703e4e688f2f0af501c52ecef2cbea3d37c45da4239ddb53295adaddb11dc0118b3188adf812c983d5676c5b7356d68e2258ea32cd3216db21dae49df16d2aa1aef39c618e393ce7e1b131b241c557414424fb6c17c825022a5a4270203010001300d06092a864886f70d01010b05000382010100a1db34a6cda0729a796e5ed0fe5b2f4813ff74bf96300c9ca30fb84be44bd7d0bc46c96a0726eae5e829985429ff4ff09b50ece907c5b8c7f8a71f7a16781103d7eaf2e1c7afa39e4774293610e0d04e6b0c76dc9a85891e6f5fed09059960dc7e2a7c1dc14d64aab9718747752d394b22e339da2c7e6ced1626dde991818cbcaf049d8f112a98b2aa2e80d1168f797a6c992e304e4572b4edcf40d270a281f82d7bde64e8d8b5d83574ecf5470f3d1a9d710498e133e9309a043f63b1682972678fba2a33267999795b5d040524e2f875b667dcec08d310e27b6086b2667dde70d4401fe501944f70581e559d5f3f5b72e49ff722e58594b84a8d15d5dd1414;
          CREATE LOGIN MIRRepoCertLogin FROM CERTIFICATE MIRRepoCert;
          GRANT UNSAFE ASSEMBLY TO MIRRepoCertLogin;
      • 次の手順でSQL Server CLRの厳密なセキュリティを無効にする。
        EXEC sp_configure 'show advanced options', 1; 
        RECONFIGURE with override;
        EXEC sp_configure 'clr strict security', 0; 
        RECONFIGURE with override; 
        EXEC sp_configure 'show advanced options', 0; 
        RECONFIGURE with override; 
    • 2017よりも前のバージョンのSQL Serverを使っている場合は、CLRの厳密なセキュリティを次の手順で有効にする必要があります。
      EXEC sp_configure 'clr enabled', 1  
      RECONFIGURE;

    CLRの厳密なセキュリティについては、Microsoft SQLのドキュメンテーションをご参照ください。

  3. 以下のコマンドを実行して、データベースMMとユーザーMMを作成します。パスワードはたとえばMM123!とします。
     Go
     
     CREATE LOGIN MM WITH PASSWORD = 'MM123!';
     CREATE DATABASE MM;
     ALTER DATABASE MM SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
     ALTER DATABASE MM SET READ_COMMITTED_SNAPSHOT ON;
     ALTER DATABASE MM SET MULTI_USER WITH ROLLBACK IMMEDIATE;
     ALTER AUTHORIZATION ON DATABASE::MM to MM;

    製品は、ファイルからではなくバイナリからロードされるMIRRepoという名前の1つのアセンブリに依存しています。このバイナリはSAFE権限で作成されたものです。MMユーザーは、データベース所有者であることに加え、CREATE ASSEMBLY権限を付与されている必要があります。

データベース接続

Advanced SQL Serverの管理者は、SQL Serverをネットワーク経由で実行するためにTCP/IPポートのセットを定義(「ハードコード」)できます。ただし、Microsoftは現在、SQL Server Browserサービスの実行を推奨しています。これは、[Services] (サービス)パネルまたはSQL Server Configuration Manager内で実行できます。

詳細は、リモート接続を受け入れるためにExpressを設定する方法をご参照ください。

接続文字列構文は次のとおりです。
jdbc:sqlserver://<dbServer>:<dbPortNumber>;databasename=<dbName>

デフォルト以外の名前付きSQL Serverインスタンスに接続できます。

その他のSQL Serverエディションの場合、SQL Server Expressのデフォルトデータベースインスタンス名はsqlexpresssqlserverです。デフォルトのSQL Server TCP/IPポート番号は1433です。

  • [SQL Server browser] (SQL Server ブラウザー)サービスが実行中の場合。
    • 名前付きインスタンスがダイナミックポートをリッスンするように設定されている場合。

      インストーラーで、HOSTNAME\INSTANCENAMEの形式でインスタンス名のみを指定し、ポートは指定しません。ポートフィールドは空のままにしておきます。例:
      jdbc:sqlserver://localhost\sqlexpress;databaseName=MM;
      
    • 名前付きインスタンスが静的IPポートをリッスンするように設定されている場合。

      SQL Serverインスタンスは静的TCP/IPポートで実行されるように設定されている必要があり、そのポートはたとえば次のようにインストーラーで指定されている必要があります。
      jdbc:sqlserver://localhost\sqlexpress:1433;databaseName=MM;
      
  • [SQL Server browser] (SQL Serverブラウザー)サービスが実行されていない場合。

    インストーラーで、たとえば次のようにインスタンスポートのみを指定します。
    jdbc:sqlserver://localhost:1433;databaseName=MM;