すべてのプロダクト
Search
ドキュメントセンター

Data Transmission Service:ソースデータベース接続

最終更新日:Nov 14, 2024

Data Transmission Service (DTS) は、DTSサーバーがソースデータベースに接続できるかどうかを事前にチェックします。 このトピックでは、接続障害の原因と障害のトラブルシューティング方法について説明します。

次の原因により、接続事前チェック中にソースデータベースの接続に失敗することがあります。

データベースアカウントまたはパスワードが無効です。

サンプルエラー

ユーザー 'XXX' @ 'XXX' のアクセスが拒否されました (パスワード: はい)

トラブルシューティング

コマンドラインツールまたはクライアントを使用してソースデータベースに接続し、データベースアカウントとパスワードが有効かどうかを確認します。

一般的なエラー:

  • データベースアカウントの代わりにAlibaba Cloudアカウントが入力されます。

  • 入力したデータベースアカウントが存在しません。

  • 無効なパスワードが入力されました。

解決策

最初に DTSコンソールで、データ移行タスクを変更します。 有効なデータベースアカウントとパスワードを入力し、再度事前チェックを実行します。

重要

ソースデータベースがApsaraDB for RedisインスタンスまたはTairインスタンスの場合、アカウントのタイプに基づいて正しい形式でパスワードを入力します。

  • ユーザー名がインスタンスIDと同じデフォルトアカウントを使用する場合は、パスワードのみを入力します。

  • カスタムアカウントを使用する場合は、<カスタムアカウント >:< パスワード> の形式でパスワードを入力します。 たとえば、ApsaraDB For Redisインスタンスに入力したアカウントがadminで、パスワードがRp829dlwaの場合、パスワードとしてadmin:Rp829dlwaを入力する必要があります。

ソースデータベースへのアクセスに使用するIPアドレスからのアクセスを許可しない

トラブルシューティング

  • コマンドラインツールまたはクライアントを使用して、ソースデータベースに接続します。 接続が成功した場合、ソースデータベースは、ソースデータベースへのアクセスに使用するIPアドレスからのアクセスを許可しない場合があります。

  • ソースデータベースが自己管理型MySQLデータベースの場合、MySQLクライアントを使用してデータベースに接続し、次のコマンドを実行できます。

    SELECT HOST FROM mysql.user WHERE user='username',password='password';
    説明

    上記のコマンドのusernamepasswordを、データ移行タスクに指定されたデータベースアカウントとパスワードに置き換えます。

    DTSサーバのIPアドレスがコマンド出力のIPアドレスホワイトリストに含まれているかどうかを確認します。 詳細については、「DTSサーバーのCIDRブロックの追加」をご参照ください。

  • ソースデータベースがSQL Serverデータベースの場合は、データベースが展開されているサーバーにファイアウォールが設定されているかどうかを確認します。 さらに、ソースデータベースのエンドポイントまたはトリガーが、使用するIPアドレスからのアクセスを許可しないかどうかを確認します。

  • ソースデータベースがOracleデータベースの場合は、Oracleデータベースの構成ファイルsqlnet.oraを確認してください。 sqlnet.ora構成ファイルのTCP.VALIDNODE_CHECKINGパラメーターがyesに設定されている場合、ソースデータベースは使用するIPアドレスからのアクセスを許可しません。

解決策

  • ソースデータベースが自己管理型MySQLデータベースの場合、次のコマンドを実行して、データベースアカウントに権限を付与します。

    GRANT ALL ON *.* TO 'username'@'%';
    説明

    上記のコマンドのusernameを、データ移行タスクに指定されたデータベースアカウントに置き換えます。

  • ソースデータベースがSQL Serverデータベースの場合は、ファイアウォールまたはトリガーを無効にします。

  • ソースデータベースがOracleデータベースの場合、TCP.VALIDNODE_CHECKINGパラメーターをnoに設定し、プロセスを再起動します。

最初に DTSコンソールを使用して、再度事前チェックを実行します。

ソースデータベースがデプロイされているサーバーに対してファイアウォールが構成されている

トラブルシューティング

  • ソースデータベースが展開されているサーバーがWindowsを実行している場合は、コントロールパネルからWindows Defenderファイアウォールを見つけて、サーバー用にファイアウォールが構成されているかどうかを確認します。

  • ソースデータベースがデプロイされているサーバーがLinuxを実行している場合は、iptables -Lコマンドを実行して、サーバーにファイアウォールが設定されているかどうかを確認します。

解決策

ファイアウォールを無効にしてから、 DTSコンソールを使用して、再度事前チェックを実行します。

ネットワーク接続が失敗する

前述のトラブルシューティングの後でも接続テストが失敗した場合、DTSサーバーとソースデータベースの間でネットワーク接続の問題が発生する可能性があります。