SQL Server クライアント コンピューターが SQL Server のインスタンスに接続しようとすると、クライアントによってプロトコルが変更される可能性があります
この記事では、クライアント コンピューターが SQL Server のインスタンスに接続しようとしたときに、クライアントがプロトコルを変更する可能性があるSQL Serverについて説明します。
元の製品バージョン: SQL Server
元の KB 番号: 328383
概要
Microsoft Data Access Components (MDAC) バージョン 2.6 以降のクライアント コンピューターでは、複数のプロトコルまたはプロセス間通信 (IPC) メカニズムを試して、SQL Serverへの接続を確立できます。
詳細
MDAC バージョン 2.6 以降の Dbnetlib.dll、クライアント側ネットワーク ライブラリが強化されました。 MDAC バージョン 2.6 以降では、複数のプロトコルが使用可能で、最初のプロトコルとの接続試行が失敗した場合、クライアント アプリケーションは直ちに他のプロトコルの 1 つを使用しようとします。
既定では、クライアントには使用可能なプロトコルとして TCP と名前付きパイプがあります。 SQL Server クライアント ユーティリティを使用して、プロトコルの順序を操作できます。 クライアント アプリケーションは、クライアント コンピューターで指定された順序でプロトコルを使用します。 プロトコルの順序は、 ProtocolOrder の値の下の次のレジストリ キーの場所に格納されます。
HKLM\Software\Microsoft\MSSQLServer\Client\SuperSocketNetLib
SQL Server 2005 を使用している場合、プロトコルの順序は、次のレジストリ サブキーの ProtocolOrder レジストリ エントリに格納されます。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI<version>
たとえば、クライアント コンピューターで TCP パイプと名前付きパイプの両方を使用できる場合、順序は次のようになります。
- TCP
- 名前付きパイプ
クライアント コンピューターがサーバーへの TCP 接続を試行し、接続試行で 0 以外のリターン コードが返されると、クライアントはリスト内の次のプロトコル (名前付きパイプ) を使用して、透過的に接続を試行します。 このシナリオでは、クライアントは TCP 接続を確立できません。ただし、クライアントは名前付きパイプ接続を正常に行います。
注:
クライアントは、最初のプロトコルが失敗したことを示すエラーを受け取りません。
クライアント アプリケーションが 2 番目のプロトコルを使用し、エラーも返す場合は、クライアントにエラーが返されます。
次のいずれかの方法を使用してエイリアスを作成する場合、クライアント アプリケーションはエイリアス情報を使用してサーバーへの接続を確立し、追加のプロトコルは使用しません。
- SQL Server クライアント ネットワーク ユーティリティを使用する
- SQL Server 構成マネージャーを使用する
- ODBC データ ソース名 (DSN) を作成する場合
クライアント アプリケーションが接続試行ごとに使用するプロトコルを制御し、クライアントが複数のプロトコルを試すことを許可しない場合は、次のいずれかの操作を実行できます。
SQL クライアント ネットワーク ユーティリティまたはSQL Server 構成マネージャーを使用して、必要なプロトコルを指定してエイリアスを作成します。
接続文字列でプロトコルを指定します。 例:
DSN=DSNName;SERVER=servername;DATABASE=YourDataBaseName;Network=DBMSSOCN;Address=IP_Address,1433;UID=YourUID;PWD=YourPassword;
この例では、ネットワーク プロトコルを として
DBMSSOCN
指定します。これは、TCP/IP プロトコルを使用することを意味します。 接続文字列内でプロトコルを指定した場合、Dbnetlib は指定されたプロトコルのみを使用し、他のプロトコルは試しません。 同様に、名前付きパイプ プロトコルのみを有効にするには、次のような接続文字列を使用します。DSN=DSNName;SERVER=servername;DATABASE=YourDataBaseName;Network=DBNMPNTW;Address=\\.\pipe\sql\query;UID=YourUID;PWD=YourPassword;
クライアント ネットワーク ユーティリティを使用して、他のプロトコルを削除します。
参照
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示