サーバーA
にSQLサーバーデータベースを作成しました。私は常にWindows認証を使用して接続していましたが、サーバーB
からデータベースに接続したいと思います。次に、データベースに新しいユーザーを追加し、Sql Authentication ON
に切り替えました。
これで、次を使用してサーバーA
からデータベースに接続できます。
1 ) Windows Authentication
-Server name: PC\SQLEXPRESS
or
2) SQL Authentication
-Server name: localhost\SQLEXPRESS,1433
-Login: new_user
-Password: example
しかし、たとえば133.155.84.28
のようなパブリックIPに接続できません。ローカルホストを使用する必要があります。つまり、サーバー「B」からデータベースに接続できます。
SQL Server Configuration Manager/Protocols for SQLEXPRESS/TCP IP/IP Adresses
に行きました。ここで、どのIPアドレスでローカルSQLEXPRESSにログインできるかを確認できます: 画像
133.155.84.28
も127.0.0.1
も使用して接続できません。 localhost
のみ。私は何をすべきか?
SQL Server Configuration Managerユーティリティに表示されているように、実際のIPアドレスはアクティブ化されていません。
接続するIPアドレスに次のオプションを設定する必要があります。
Enabled : Yes
デフォルトの1433ポートに接続する場合は、以下も設定する必要があります。
TCP Dynamic Ports :
TCP Port : 1433
動的ポートを空白/空のままにしてから、構成マネージャーを適用/閉じます。これらの変更を適用するには、SQLServerを再起動する必要があります。
編集:
SQL Server構成マネージャーユーティリティの初期画面で、プロトコルレジスタのTCP/IPプロパティに次のオプションが設定されている可能性があることに気付きました。
Listen All : Yes
つまり、基本的には、Listen All : No
を具体的に設定してから、IPアドレスレジスタでIPアドレスをアクティブにしない限り、私の答えは役に立たない可能性があります。
[IPプロパティ]のSQLServer構成マネージャーにパブリックIPアドレスが表示されない場合、SQLServerはパブリックIPを認識していません。