3

サーバーに SQL Server 2000 をインストールしていますが、奇妙な接続の問題が発生しています。

SSMS を使用すると、Configuration Manager でセットアップしたエイリアスを使用して接続できません。エイリアスは、共有メモリの下の順序で最初のプロトコルである TCPIP を使用するように設定されています。エイリアスに入力したサーバー名とまったく同じ名前を使用すると、問題なく接続できます。

私のASP.NETアプリケーションでもまったく同じ動作が見られます.エイリアスを使用すると、接続エラーが発生します.名前を使用すると、正常に接続されます. ASP.NET 接続文字列がプロトコルを指定していません。

4

2 に答える 2

1

サーバー名を使用すると、クライアントのデフォルトの接続プロトコルが使用されます。これは、名前付きパイプまたは tcp/ip (MDAC バージョン、アップグレードとインストールなど) の場合があります。

エイリアスは、共有メモリの下の順序で最初のプロトコルであるTCPIPを使用するように設定されています

クライアントエイリアスがtcpを使用するように設定されている場合、サーバーは名前付きパイプでのみリッスンするように構成されているため、サーバー名でのみ機能すると思います。クライアントは最終的に、使用するプロトコルのリストで名前付きパイプを見つけます。

テストするには、servername を np:servername および tcp:servername に置き換えて、エイリアスを使用せずにプロトコルを変更します。

または、サーバーがリッスンしているものを確認して修正します...

もう 1 つのオプションは、非標準の TCP ポート (1433 ではなくサーバー) またはポート 1433/1434 へのアクセスを防止するファイアウォールです。

SQL 2000 ブック

于 2008-11-18T05:37:27.333 に答える
0

エイリアスはプロトコルを指定していますか? そのプロトコルはサーバーによって受け入れられますか? 名前で接続しているときに使用されているプロトコルですか?(つまり、クライアントプロトコルの順序は何ですか)

于 2008-11-12T17:43:56.983 に答える