ApexSQLツールを使用してリモートアクセスを構成し、リモートSQLServerインスタンスに接続する方法
適用対象
すべてのApexSQLツール
説明
この記事では、 SQL Serverインスタンスでリモートアクセスを構成し、ApexSQLツールを使用してリモートSQLServerインスタンスに接続する
SQLServerインスタンスでリモートアクセスを構成する
SQL Serverでリモート接続を有効にするには–サーバーをクリックして、[プロパティ]オプションを選択します。 [接続]タブの[サーバーのプロパティ]ダイアログで、[このサーバーへのリモート接続を許可する]オプションをオンにします。
スタートに移動->プログラム-> Microsoft SQL Server 2005/2008 / 2012- >構成ツールと選択SQL Server構成マネージャー:
SQL Serverネットワーク構成で、<サーバー名>:
TCP / IPプロトコルが有効になっているので、TCP / IPを右クリックして、[プロパティ]オプションを選択します。 [TCP / IPプロパティ]ダイアログで、[IPアドレス]タブを選択し、[IPAII]まで下にスクロールします。 [TCP動的ポート]ダイアログボックスに0が含まれている場合は、データベースエンジンが動的ポートをリッスンしていることを示します。0を削除し、[TCP動的ポート]を空白に、[TCPポート]を1433に設定します。ポート1433は、SQLServerが使用するデフォルトのインスタンスです。
[OK]ボタンをクリックすると、サービスを再起動するように求めるメッセージが表示されます。
SQL Server Configuration Managerの左側のウィンドウで、[SQL Server Services]をクリックし、[SQL Server]を右クリックします< instance_name >をクリックし、[再起動]をクリックします:
|
クイックヒント: ファイアウォールを使用している場合は、TCP / IPを許可するために1433ポートの例外を追加する必要がありますポート1433のトラフィック |
データベースエンジン用のWindowsファイアウォールを構成するアクセス
1433ポートのファイアウォール例外を追加するには、[プログラム]->管理ツールに移動し、[セキュリティが強化されたWindowsファイアウォール]オプションを選択して、次の手順に従います。
-
セキュリティが強化されたWindowsファイアウォールダイアログで、[受信ルール]オプションをクリックし、[新しいルール]コマンドを選択します。 :
-
[新しい受信ルール]ウィザードで[ポート]オプションを選択し、[次へ]をクリックします:
-
[プロトコルとポート]ウィンドウで、ルールを適用するプロトコルとポートを指定します。 TCPオプションを選択し、[特定のローカルポート]テキストボックスに1433ポートを入力して、[次へ]をクリックします。
-
[アクション]ウィンドウで、[接続を許可する]を選択し、接続がルールで指定された条件に一致したときに実行するアクションを指定します。
-
[プロファイル]ウィンドウでルールを適用するプロファイルを指定し、[次へ]をクリックします。
-
最後のウィンドウで、作成したルールの名前を指定し、[完了]ボタンをクリックします。
作成されたルールがインバウンドルールのリストに表示されるようになりました:
SQLServerの名前付きインスタンスでのリモートアクセスの構成
SQL Serverの名前付きインスタンスを使用する場合、クライアントがSQLデータベースにリモートでアクセスできるようにするために必要な特定のことがあります。すでに述べたように、SQLServerがリッスンするデフォルトのインスタンスはポート1433です。名前付きSQLServerインスタンスの場合、SQLServerとの通信に使用されるポートはデフォルトで動的です。
クライアントがSQL Serverの名前付きインスタンスに接続すると、SQL Server解決プロトコル(SSRP)UDPパケットがサーバーマシンのユーザーデータグラムプロトコル(UDP)ポート1434に送信されます。
SQLServerへのリモートアクセスを設定するには名前付きインスタンスはスタートに移動します->プログラム-> Microsoft SQL Server 2005/2008 / 2012- >構成ツールを選択し、SQLServer構成マネージャーを選択します。
[TCP / IPプロパティ]ダイアログで、[IPアドレス]タブを選択し、[IPAII]まで下にスクロールします。 TCP動的ポートを空白に設定し、TCPポートを1434に設定して、SQL Server <サーバー名>サービスを再起動します。
インスタンスという名前のSQLServerに接続すると、SQL ServerBrowserはUDPポート1434を要求します。SQL Server構成マネージャーで、SQLServerブラウザーが[自動で実行中]に設定されていることを確認します。
プログラム内- >管理ツール->セキュリティが強化されたWindowsファイアウォールは、受信ルールに1434ポートとUDPのファイアウォール例外を追加します。
ApexSQLツールを使用したリモートSQLServerインスタンスへの接続
リモートSQLServerインスタンスへの接続を示しますApexSQLDiffの例では。新しいプロジェクトを開始したら、ソースサーバーと宛先サーバーに接続する必要があります。
リモートサーバーに接続するには、[サーバー]ドロップダウンリストの横にある[…]ボタンをクリックしてサーバーリストマネージャーを開きます。 :
[サーバーリストの管理]ダイアログで、[新しい追加]ボタンをクリックします。
[サーバーの追加]ダイアログでデフォルトのポート1433を使用している場合は、SQLServerインスタンス名を<あなたのIPアドレス> \ <サーバー名>、ポート。テスト接続をクリックします。ボタン:
SQLの場合サーバー名付きインスタンスは、SQLサーバーインスタンス名を入力するだけです。
Windows認証の問題
Windows認証を使用してリモートサーバーに接続しようとしたとき次のエラーが発生する場合があります:
|
クイックヒント: この問題にはいくつかの回避策があります。
|
SQL Server認証を使用してサーバーにログインすることにより、この問題を解決するためのヒントを示します。
-
[セキュリティ]タブで、サーバー認証をSQLServerおよびWindows認証モードに設定します
-
新しいものを作成しますログin:
CREATE LOGIN YourLogin WITH PASSWORD="yourpass"GOALTER LOGIN sa WITH PASSWORD="yourpass", CHECK_POLICY=OFFGOALTER LOGIN sa ENABLEGO
-
作成したユーザーに、データベースにアクセスして使用するために必要な権限を付与しますApexSQLツール。このApexSQLDiffの例では、必要な最小権限は次のとおりです。
ソースデータベースと宛先データベースの両方の場合:
- パブリックロールメンバーシップ
- CONNECTおよびVIEWDEFINITION権限
宛先データベースの場合:
-
同期スクリプトを実行するにはCONTROLを付与する必要があります