SQL Server への接続 (Db2ToSQL)
Db2 データベースを SQL Server に移行するには、ターゲット SQL Server インスタンスに接続する必要があります。 接続すると、SQL Server Migration Assistant (SSMA) は、SQL Server インスタンス内のすべてのデータベースに関するメタデータを取得し、 SQL Server メタデータ エクスプローラーにデータベース メタデータを表示します。 SSMA には、接続先の SQL Server のインスタンスに関する情報が格納されますが、パスワードは格納されません。
SQL Server への接続は、プロジェクトを閉じるまでアクティブなままです。 プロジェクトを再度開くときに、サーバーへのアクティブな接続が必要な場合は、SQL Server に再接続する必要があります。 データベース オブジェクトを SQL Server に読み込んでデータを移行するまで、オフラインで作業できます。
SQL Server のインスタンスに関するメタデータは自動的には同期されません。 代わりに、SQL Server メタデータ エクスプローラーでメタデータを更新するには、SQL Server メタデータを手動で更新する必要があります。 詳細については、この記事で後述する「SQL Server メタデータの同期」セクションを参照してください。
必要な SQL Server アクセス許可
SQL Server への接続に使用されるアカウントには、アカウントが実行する操作に応じて異なるアクセス許可が必要です。
Db2 オブジェクトを Transact-SQL 構文に変換したり、SQL Server からメタデータを更新したり、変換された構文をスクリプトに保存したりするには、SQL Server のインスタンスにサインインするためのアクセス許可がアカウントに必要です。
SQL Server にデータベース オブジェクトを読み込むには、アカウントが db_ddladmin サーバー ロールのメンバーである必要があります。
SQL Server にデータを移行するには、アカウントが db_owner データベース ロールのメンバーである必要があります。
SSMA によって生成されたコードを実行するには、ターゲット データベースの ssma_db2 スキーマ内のすべてのユーザー定義関数に対する
EXECUTE
アクセス許可がアカウントに必要です。 これらの関数は、Db2 システム関数と同等の機能を提供し、変換されたオブジェクトによって使用されます。
SQL Server 接続を確立する
Db2 データベース・オブジェクトを SQL Server 構文に変換する前に、Db2 データベースまたはデータベースを移行する SQL Server のインスタンスへの接続を確立する必要があります。
接続プロパティを定義するときは、オブジェクトとデータを移行するデータベースも指定します。 このマッピングは、SQL Server に接続した後、Db2 スキーマ レベルでカスタマイズできます。 詳細については、「 Db2 スキーマを SQL Server スキーマにマップする」を参照してください。
重要
SQL Server に接続する前に、SQL Server のインスタンスが実行されており、接続を受け入れることを確認してください。
SQL Server に接続するには:
File>Connect to SQL Server に接続に移動します。 以前に SQL Server に接続した場合、コマンド名は SQL Server に接続。
接続のダイアログ ボックスに、SQL Server のインスタンスの名前を入力または選択します。
ローカル コンピューター上の既定のインスタンスに接続している場合は、
localhost
またはドット (.
) を入力できます。別のコンピューターの既定のインスタンスに接続している場合は、コンピューターの名前を入力します。
別のコンピューター上の名前付きインスタンスに接続する場合は、コンピューター名の後に円記号とインスタンス名 (
MyServer\MyInstance
など) を入力します。
SQL Server のインスタンスが既定以外のポートで接続を承諾するように構成されている場合は、[サーバー ポート] ボックスに SQL Server 接続に使用されるポート番号を入力します。 SQL Server の既定のインスタンスの場合、デフォルトのポート番号は 1433 です。 名前付きインスタンスの場合、SSMA は SQL Server Browser サービスからポート番号を取得しようとします。
データベース ボックスに、ターゲット データベースの名前を入力します。 このオプションは、SQL Server に再接続するときに使用できません。
[認証] ボックスで、接続に使用する認証の種類を選択します。 現在の Windows アカウントを使用するには、[Windows Authentication] (Windows 認証) を選択します。 SQL Server ログインを使用するには、[SQL Server Authentication] (SQL Server 認証) を選択し、ログイン名とパスワードを入力します。
セキュリティで保護された接続の場合は、 Encrypt Connection と TrustServerCertificate チェック ボックスの 2 つのコントロールが追加されます。 [接続の暗号化] がオンになっている場合にのみ、[TrustServerCertificate] チェック ボックスが表示されます。 Encrypt 接続がオン (true) で、TrustServerCertificate がオフ (false) の場合、SQL Server TLS/SSL 証明書が検証されます。 サーバー証明書の検証は、セキュリティで保護されたハンドシェイクの一部であり、サーバーが接続する正しいサーバーであることを確認します。証明書は、クライアント側とサーバー側にインストールする必要があります。
[接続] を選択します。
重要
より高いバージョンの SQL Server に接続することもできますが、移行プロジェクトの作成時に選択されたバージョンと比較すると、データベース オブジェクトの変換は、接続先の SQL Server のバージョンではなく、プロジェクトのターゲット バージョンによって決まります。
SQL Server メタデータの同期
SQL Server データベースに関するメタデータは自動的には更新されません。 SQL Server メタデータ エクスプローラー のメタデータは、最初に SQL Server に接続したとき、またはメタデータを最後に手動で更新したときのメタデータのスナップショットです。 すべてのデータベースのメタデータ、または任意の単一データベースまたはデータベース オブジェクトのメタデータを手動で更新できます。 メタデータを同期するには :
SQL Server に接続していることを確認します。
SQL Server メタデータ エクスプローラー で、更新するデータベースまたはデータベース スキーマの横にあるチェック ボックスを選択します。 たとえば、すべてのデータベースのメタデータを更新するには、[Databases] (データベース) の横にあるボックスを選択します。
[データベース]、または個々のデータベースまたはデータベース スキーマを右クリックし、[データベースと同期] を選択します。