で Microsoft SQL サーバーを接続する AWS Schema Conversion Tool - AWS Schema Conversion Tool

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

で Microsoft SQL サーバーを接続する AWS Schema Conversion Tool

AWS SCT を使用して、スキーマ、データベースコードオブジェクト、アプリケーションコードを SQL Server から次のターゲットに変換できます。

  • Amazon RDS for MySQL

  • Amazon Aurora My SQL互換エディション

  • Amazon RDS for PostgreSQL

  • Amazon Aurora Postgre SQL互換エディション

  • Amazon RDS for SQL Server

  • Amazon RDS for MariaDB

注記

AWS SCT では、Amazon RDS for SQL Server をソースとして使用することはできません。

以下SQLに示すように、 AWS SCT を使用して、スキーマ、データベースコードオブジェクト、アプリケーションコードを SQL Server から Babelfish for Aurora Postgre に移行するための評価レポートを作成できます。

ソースとしての Microsoft SQL Server の権限

ソースとして Microsoft SQL Server に必要な権限は次のとおりです。

  • VIEW DEFINITION

  • VIEW DATABASE STATE

VIEW DEFINITION 権限により、パブリックアクセス権を持つユーザーはオブジェクト定義を表示できます。 は、SQLServer Enterprise Edition VIEW DATABASE STATE の機能をチェックする権限 AWS SCT を使用します。

スキーマを変換する、各データベースの付与を繰り返します。

さらに、master データベースに次の権限を付与します。

  • VIEW SERVER STATE

  • VIEW ANY DEFINITION

AWS SCT はVIEW SERVER STATE、 権限を使用してサーバー設定と設定を収集します。エンドポイントを表示する VIEW ANY DEFINITION 権限を必ず付与してください。

Microsoft Analysis Services に関する情報を読み取るには、master データベースで次のコマンドを実行します。

EXEC master..sp_addsrvrolemember @loginame = N'<user_name>', @rolename = N'sysadmin'

前述の例では、<user_name> プレースホルダーを、以前に権限を付与したユーザーの名前に置き換えます。

SQL サーバーエージェントに関する情報を読み取るには、ユーザーをSQLAgentUserロールに追加します。msdb データベースで次のコマンドを実行します。

EXEC sp_addrolemember <SQLAgentRole>, <user_name>;

前の例では、 <SQLAgentRole>プレースホルダーをSQLサーバーエージェントロールの名前に置き換えます。次に、<user_name> プレースホルダーを以前に権限を付与したユーザーの名前に置き換えます。詳細については、「Amazon ユーザーガイド」のSQLAgentUser「ロールへのユーザーの追加」を参照してください。 RDS

ログシッピングを検出するには、msdb データベースに対する SELECT on dbo.log_shipping_primary_databases 権限を付与します。

DDL レプリケーションの通知アプローチを使用するには、ソースデータベースに RECEIVE ON <schema_name>.<queue_name> 権限を付与します。この例では、<schema_name> プレースホルダーをデータベースのスキーマ名に置き換えます。次に、<queue_name> プレースホルダーをキューテーブルの名前に置き換えます。

Microsoft SQL Server をソースとして使用する場合の Windows 認証の使用

アプリケーションが Windows ベースのイントラネットで実行されている場合、データベースアクセスに Windows 認証を使用できることがあります。Windows 認証は、オペレーティングシステムスレッドで確立された現在の Windows ID を使用して SQL Server データベースにアクセスします。その後、Windows ID を SQL Server データベースとアクセス許可にマッピングできます。Windows 認証を使用して SQL Server に接続するには、アプリケーションが使用している Windows ID を指定する必要があります。また、Windows ID に SQL Server データベースへのアクセスを許可する必要があります。

SQL サーバーには、Windows 認証モードと混合モードの 2 つのアクセスモードがあります。Windows 認証モードでは、Windows 認証が有効になり、SQLサーバー認証が無効になります。混合モードでは、Windows 認証とSQLサーバー認証の両方が有効になります。Windows 認証は常に利用可能であり、無効にすることはできません。Windows 認証の詳細については、Microsoft Windows のドキュメントを参照してください。

TEST_DB でユーザーを作成する場合の例を次に示します。

USE [TEST_DB] CREATE USER [TestUser] FOR LOGIN [TestDomain\TestUser] GRANT VIEW DEFINITION TO [TestUser] GRANT VIEW DATABASE STATE TO [TestUser]

JDBC 接続での Windows 認証の使用

JDBC ドライバーが Windows 以外のオペレーティングシステムで使用されている場合、ドライバーは Windows 認証をサポートしていません。ユーザー名とパスワードなどの Windows 認証認証情報は、Windows 以外のオペレーティングシステムから SQL Server に接続するときに自動的に指定されません。このような場合、アプリケーションは代わりにSQLサーバー認証を使用する必要があります。

JDBC 接続文字列では、Windows 認証を使用して接続するには パラメータを指定integratedSecurityする必要があります。JDBC ドライバーは、integratedSecurity接続文字列パラメータを使用して Windows オペレーティングシステムの統合 Windows 認証をサポートします。

認証の統合を使用するには

  1. JDBC ドライバーをインストールします。

  2. JDBC ドライバーがインストールされているコンピュータの Windows システムパス上のディレクトリにsqljdbc_auth.dllファイルをコピーします。

    sqljdbc_auth.dll ファイルは次の場所にインストールされます。

    <インストールディレクトリ>\sqljdbc_<バージョン>\<言語>\auth\

Windows 認証を使用してSQLサーバーデータベースへの接続を確立しようとすると、次のエラーが表示されることがあります。このドライバーは統合認証用に設定されていません。この問題は、次のアクションを実行することで解決できます。

  • のインストールされたパスを指す 2 つの変数を宣言しますJDBC。

    variable name: SQLJDBC_HOME; variable value: D:\lib\JDBC4.1\enu (sqljdbc4.jar が存在する場所);

    variable name: SQLJDBC_AUTH_HOME; variable value: D\lib\JDBC4.1\enu\auth\x86 (32 ビット OS を実行している場合)、または D\lib\JDBC4.1\enu\auth\x64 (64 ビット OS を実行している場合)。これは sqljdbc_auth.dll の場所です。

  • JDK/JRE が実行されているフォルダsqljdbc_auth.dllにコピーします。lib フォルダ、bin フォルダなどにコピーできます。例えば、次のフォルダにコピーできます。

    [JDK_INSTALLED_PATH]\bin; [JDK_INSTALLED_PATH]\jre\bin; [JDK_INSTALLED_PATH]\jre\lib; [JDK_INSTALLED_PATH]\lib;
  • JDBC ライブラリフォルダに SQLJDBC4.jar ファイルのみがあることを確認します。このフォルダから、他の sqljdbc*.jar ファイルを削除します (または他のフォルダにコピーします)。プログラムの一部としてドライバーを追加する場合は、使用するドライバーとして SQLJDBC4.jar のみを追加してください。

  • sqljdbc_auth.dll ファイルをアプリケーションのフォルダにコピーします。

注記

32 ビット Java 仮想マシン (JVM) を実行している場合は、オペレーティングシステムが x64 バージョンであっても、x86 フォルダの sqljdbc_auth.dll ファイルを使用します。x64 プロセッサJVMで 64 ビットを実行している場合は、x64 フォルダの sqljdbc_auth.dll ファイルを使用します。

Server SQL データベースに接続するときは、Windows 認証または SQL Server 認証のいずれかを認証オプションとして選択できます。

ソースとしての SQL Server への接続

を使用して Microsoft SQL Server ソースデータベースに接続するには、次の手順に従います AWS Schema Conversion Tool。

Microsoft SQL Server ソースデータベースに接続するには
  1. で AWS Schema Conversion Tool、ソースの追加 を選択します。

  2. Microsoft SQL Server を選択し、次へ を選択します。

    [Add source] (ソースの追加) ダイアログボックスが表示されます。

  3. [接続名] にデータベースの名前を入力します。この名前が AWS SCT の左側のパネルのツリーに表示されます。

  4. からデータベース認証情報を使用するか AWS Secrets Manager 、手動で入力します。

    • Secrets Manager のデータベース認証情報を使用するには、以下の手順に従ってください。

      1. AWS シークレット で、シークレットの名前を選択します。

      2. [入力] を選択すると、Secrets Manager のデータベース接続ダイアログボックスにすべての値が自動的に入力されます。

      Secrets Manager のデータベース認証情報を使用する方法については、「AWS Secrets Manager での の設定 AWS Schema Conversion Tool」を参照してください。

    • Microsoft SQL Server のソースデータベース接続情報を手動で入力するには、以下の手順に従います。

      パラメータ アクション
      [Server name] (サーバー名)

      ソースデータベースサーバーのドメインネームサービス (DNS) 名または IP アドレスを入力します。

      IPv6 アドレスプロトコルを使用してソースSQLサーバーデータベースに接続できます。そのためには、次の例に示すように IP アドレスの入力に角括弧を使用することを確認します。

      [2001:db8:ffff:ffff:ffff:ffff:ffff:fffe]
      Server port

      ソースデータベースサーバーへの接続に使用するポートを入力します。

      Instance name

      SQL サーバーデータベースのインスタンス名を入力します。インスタンス名を検索するには、SQLサーバーデータベースSELECT @@servername;でクエリを実行します。

      認証

      Windows 認証 SQLサーバー認証 から認証タイプを選択します。

      User name (ユーザー名) と [Password] (パスワード)

      データベース認証情報を入力して、ソースデータベースサーバーに接続します。

      AWS SCT は、プロジェクト内のデータベースに接続する場合にのみ、パスワードを使用してソースデータベースに接続します。ソースデータベースのパスワードが公開されないように、デフォルトではパスワードを保存 AWS SCT しないでください。 AWS SCT プロジェクトを閉じて再度開くと、必要に応じてソースデータベースに接続するパスワードの入力を求められます。

      を使用する SSL

      Secure Sockets Layer (SSL) を使用してデータベースに接続するには、このオプションを選択します。必要に応じて、 SSLタブに次の追加情報を入力します。

      • [サーバー証明書を信頼する]: サーバー証明書を信頼するには、このオプションを選択します。

      • [信頼ストア]: 証明書を保存している信頼ストアの場所。この場所を [グローバル設定] セクションに表示するには、必ず追加してください。

      Store Password

      AWS SCT は、SSL証明書とデータベースパスワードを保存するための安全なボールトを作成します。このオプションを有効にすると、データベースのパスワードが保存されるため、パスワードを入力しなくてもデータベースにすばやく接続できます。

      Sql Server Driver Path

      ソースデータベースへの接続に使用するドライバのパスを入力します。詳細については、「のJDBCドライバーのインストール AWS Schema Conversion Tool」を参照してください。

      ドライバパスをグローバルプロジェクト設定に保存する場合、ドライバパスは接続ダイアログボックスに表示されません。詳細については、「グローバル設定でのドライバパスの保存」を参照してください。

      Windows 認証ライブラリ

      sqljdbc_auth.dll ファイルへのパスを入力します。デフォルトでは、このファイルは次の場所にインストールされます。

      <installation directory of the JDBC driver>sqljdbc_<version>\<language>\auth\

  5. 接続のテストを選択して、 がソースデータベースに接続 AWS SCT できることを確認します。

  6. [Connect] (接続) を選択して、ソースデータベースに接続します。