SQL Server 認証でのリンク サーバーに関する接続の問題
この記事は、一貫性のある認証リンク サーバー接続の問題を解決するのに役立ちます。
現象
SQL Server Management Studio (SSMS) 内から Microsoft SQL Server アカウントに接続しようとすると、次のエラー メッセージが表示されます。
メッセージ 233、レベル 20、状態 0、行 0 サーバーに要求を送信するときにトランスポート レベルエラーが発生しました。 (プロバイダー: 共有メモリ プロバイダー、エラー: 0 - プロセスがパイプのもう一方の端にありません。
.NET テクノロジを使用して開発されたアプリケーションを使用して接続しようとすると、次のエラー メッセージが表示されることがあります。
リンク サーバー "SQLPROD02" の OLE DB プロバイダー "MSDASQL" がエラーを報告しました。 認証に失敗した。
リンク サーバー "SQLPROD02" の OLE DB プロバイダー "MSDASQL" のデータ ソース オブジェクトを初期化できません。
次のエラー メッセージが表示される場合もあります。
リンク サーバー "SQLPROD02" の OLE DB プロバイダー "MSDASQL" が返されたメッセージ [Microsoft][SQL Server Native Client 11.0][SQL Server]ユーザー 'CONTOSO\SQLPROD01$' のログインに失敗しました。
このメッセージは、次の条件を示します。
- リンク サーバー接続に名前付きパイプを使用しています。
- SQL Server ログイン アカウントを使用しています。
- 中間層の SQL Server サービス アカウントまたはマシン アカウントには、バックエンド サーバー上の Windows へのログイン権限がありません。
原因
リンク サーバー アカウントのマッピングの問題が原因で、これらのエラー メッセージが表示されることがあります。
解決方法
TCP/IP を強制するか、適切なアクセス許可を付与することで、このエラーを修正できます。
[リンク サーバーのセキュリティ] ダイアログ ボックスで、SQL Server ログイン 成功するには このセキュリティ コンテキストを使用して行う] を選択します。
Note
セキュリティ コンテキストを使用せずに作成オプションを選択すると、"ユーザー NT AUTHORITY\ANONYMOUS LOGON のログインに失敗しました" というエラー メッセージが表示されます。
[ リンク サーバーのセキュリティ ] ダイアログ ボックスのメイン マッピング設定に加えて、ボックスの上部にある個々のアカウント マッピングを変更できます。 これにより、メイン マッピングの設定がオーバーライドされます。
Note
リンク サーバーで SQL Server ODBC ドライバーを使用することは、サポートされているシナリオではありません。 その他の ODBC ドライバーには、ベンダーからの主要なサポートがあり、Microsoft からのサポートが限られている場合があります。 詳細については、「 SQL サーバーのリンク サーバー委任の問題を参照してください。