事前チェック中に、Data Transmission Service (DTS) は移行先データベースへの接続を検証します。このチェックに失敗した場合は、以下の原因を特定し、該当する解決策を適用してください。
移行先データベースの接続に関する事前チェックは、以下の理由で失敗することがあります。
データベースアカウントまたはパスワードの誤り
検出方法:
移行先データベースに到達できる任意のデバイスから、移行タスクで指定したアカウントとパスワードを使用して接続し、認証情報を検証してください。
移行先データベースサーバー上で直接、認証情報を検証することもできます。
解決策:
DTS コンソールで、正しいアカウントとパスワードを使用するように移行タスクを更新し、事前チェックを再実行してください。
移行先が Tair または Redis インスタンスの場合は、選択したアカウントのパスワードを入力してください。アカウントには読み取りおよび書き込み権限が必要です。
-
デフォルトアカウント (インスタンス ID を名前として使用):パスワードをそのまま入力してください。
-
新規アカウント:パスワードの形式は
<custom_username>:<password>です。たとえば、Redis インスタンスのユーザー名が admin で、パスワードが Rp829dlwa の場合、データベースのパスワードとして admin:Rp829dlwa を入力してください。
移行先データベースでのソース IP 制限
検出方法:
-
移行先データベースのホストサーバーから、移行タスクの認証情報を使用して移行先データベースに接続してください。接続できる場合、データベースが DTS のソース IP を制限している可能性があります。
-
移行先データベースが MySQL の場合は、MySQL クライアントで接続し、次のコマンドを実行してください。
SELECT HOST FROM mysql.user WHERE user='username' AND password='password';説明username と password は、移行タスクで設定した認証情報に置き換えてください。
承認済みの IP アドレスに、オンプレミスソース向け IP アドレスホワイトリストに記載されている DTS サーバー IP が含まれているか確認してください。
-
移行先データベースが SQL Server の場合は、ホストサーバー上のファイアウォール、およびソース IP アドレスを制限するエンドポイントまたはトリガーがないかを確認してください。
-
移行先データベースが Oracle の場合は、sqlnet.ora ファイルで
TCP.VALIDNODE_CHECKINGがyesに設定されているかを確認してください。値がyesの場合、データベースはソース IP からのアクセスを制限します。
解決策:
-
移行先データベースが MySQL の場合は、次のコマンドを実行して移行アカウントに権限を付与してください。
GRANT ALL ON *.* TO 'username'@'%' IDENTIFIED BY 'password';説明username と password は、移行タスクで設定した認証情報に置き換えてください。
-
移行先データベースが SQL Server の場合は、ファイアウォールまたはトリガーを無効化してください。
-
移行先データベースが Oracle の場合は、
TCP.VALIDNODE_CHECKINGをnoに変更し、プロセスを再起動してください。
修正を適用した後、DTS コンソールで事前チェックを再実行してください。
移行先データベースサーバーに設定されたファイアウォール
検出方法:
-
サーバーが Windows を実行している場合は、コントロール パネルを開き、Windows ファイアウォールの設定を確認してください。
-
サーバーが Linux を実行している場合は、
iptables -Lコマンドを実行してファイアウォールルールを確認してください。
解決策:
ファイアウォールを無効化し、DTS コンソールで事前チェックを再実行してください。
ネットワーク接続の問題
上記の原因に対処してもチェックが失敗する場合は、DTS サーバーと移行先データベースの間にネットワーク接続の問題がある可能性があります。