SQL Server での接続に関する問題のトラブルシューティング

適用対象: SQL Server
元の KB 番号: 4009936

まとめ

SQL Server接続エラーには、ネットワーク構成、認証、名前解決、ファイアウォール規則、トランスポート層セキュリティ (TLS) 設定など、多くの原因が考えられます。 このトラブルシューティングの概要は、接続エラーのカテゴリを特定し、一般的なエラーごとに重点的な記事へのリンクを提供し、SQL Server接続の問題を調査するためにサポート エンジニアMicrosoft使用する診断ツールの一覧を示します。

注記

環境内の複数のSQL Server インスタンスが影響を受ける場合、または問題が断続的である場合は、通常、SQL Server構成の問題ではなく、Windows ポリシーまたはネットワークの問題が根本原因になります。

開始する前に

トラブルシューティングを開始する前に、ログを収集するための接続の問題をトラブルシューティングするための前提条件とチェックリストと、SQL Serverを操作するときの一般的な接続エラーを回避するのに役立つクイック アクションの一覧を参照してください。

SQL Server接続エラーのカテゴリ

ほとんどの接続エラーは、次のいずれかのカテゴリに分類されます。 この表を使用して症状をカテゴリに一致させ、リンクされた記事に移動して詳細な手順を確認します。

Category 一般的な症状 開始する場所
ネットワークまたはインスタンスの到達可能性 クライアントがサーバーまたは名前付きインスタンスに到達できません。 ネットワーク関連またはインスタンス固有のエラー
認証と Kerberos サインインが失敗するか、クライアントが SSPI コンテキストを生成できません。 SSPI コンテキストを生成できずユーザーのログインに失敗しました
タイムアウトと切断された接続 接続に時間がかかりすぎるか、予期せず閉じられます。 タイムアウトが切れ既存の接続が強制的に閉じられた
暗号化と証明書 証明書が信頼されていないか、TLS ハンドシェイクが失敗します。 この証明書チェーンは、信頼されていない機関によって発行されました
アクセス検証 トークン ベースのサーバー アクセスの検証が失敗します。 トークン ベースのサーバー アクセス検証に失敗しました

接続の問題をトラブルシューティングするためのツールと方法

以降のセクションでは、さまざまなSQL Server接続エラーの診断に役立つツールと手順について説明します。

SQL Serverで動作するようにWindowsファイアウォールを設定する

クライアントがSQL Server インスタンスに接続できるように Windows Firewall を設定する手順については、「ファイアウォールを構成してSQL Serverを使用する」を参照してください。

SQL Server への OLE DB または ODBC 接続をテストする

ポートが PortQryUI でブロックされているかどうかを確認する

グラフィカル ポート スキャナーである PortQryUI ツールを使用して、必要なSQL Server ポートがブロックされているかどうかを確認します。 詳細については、「 SQL Server での PortQryUI ツールの使用を参照してください。

SQL Server が待ち受けているポートを見つける

SQL Server インスタンスがリッスンしている TCP ポートを識別する手順については、「SQL Serverが動的ポートまたは静的ポート>をリッスンしているかどうかを確認する

SQLCheck を使用して詳細な診断レポートを取得する

Microsoft製品サポート エンジニアは、接続エラーの原因を診断するツールである SQLCheck を頻繁に使用します。 リンクされた手順に従って SQLCheck をダウンロードし、詳細な分析用のレポートを収集します。

Kerberos Configuration Managerを使用して SPN の問題を修正する

サービス プリンシパル名 (SPN) の問題を特定して修正するには、Kerberos Configuration Managerを使用します。 詳細については、「 Kerberos Configuration Manager を使用して SPN の問題を解決するを参照してください。

SQLTrace と SQLNAUI を使用してネットワーク トレースを収集して分析する

多くの場合、ネットワーク トレースは、ネットワーク障害を調査するための最も効果的な方法です。 クライアントとサーバーでネットワーク トレースを収集する手順に従い、SQL Network Analyzer UI (SQLNAUI) を使用してトレースを分析します。

よく寄せられる質問

正確なエラーがわからない場合は、どの記事から始める必要がありますか?

ベースライン ログを収集 するための接続の問題をトラブルシューティングするための推奨される前提条件とチェックリスト から始めます。 次に、SQL Server接続エラーのカテゴリ テーブルを使用して、対象となる記事に症状を一致させます。

この問題は、場合によっては発生することがあります。 何を収集する必要がありますか?

断続的な問題の場合は、クライアントとサーバーの両方で同時にネットワーク トレースを収集します。 クライアントとサーバーでネットワーク トレースを収集するを参照してください。

問題が名前解決、認証、ネットワークのいずれであるかを確認するにはどうすればよいですか?

エラー テキストと発生するステージを確認します。 名前解決エラーでは、通常、サーバーが見つからなかったか、到達できないことが示されます。 サーバー名に対して pingnslookup を使用して確認できます。 ネットワークまたはポートの問題は、接続拒否またはタイムアウト エラーとして発生します。 これらの問題は 、PortQryUI を使用して分離できます。 認証の問題は、サインイン エラーまたは SSPI エラーとして、TCP 接続が成功した後に表示されます。 「 SSPI コンテキストを生成できない 」を参照し、 ユーザーのログインに失敗しました

TCP 接続エラーと TLS ハンドシェイクエラーの違いは何ですか?

TCP 接続エラーは、SQL Serverトラフィックが交換される前に発生します。 クライアントは、通常、ファイアウォール、間違ったポート、または停止したサービスのために、サーバーのポートへのソケットを開くできません。 TLS ハンドシェイクエラーは、TCP 接続が確立された後、クライアントとサーバーがプロトコルのバージョン、暗号、または証明書に同意できない場合に発生します。 TLS の問題については、「 信頼されていない機関によって証明書チェーンが発行され既存の接続がリモート ホストによって強制的に閉じられた」を参照してください。

Microsoft サポートに連絡する前に、どのログを収集する必要がありますか?

SQL Serverエラー ログ、クライアントとサーバーの両方からWindows システムとアプリケーションのイベント ログ、サーバーから SQLCheck レポート、および再現中にクライアントとサーバーからの同時ネットワーク トレースを収集します。 完全な一覧については、「 接続の問題をトラブルシューティングするための推奨される前提条件とチェックリスト 」および 「クライアントとサーバーでネットワーク トレースを収集する」を参照してください。

その他のコミュニティ ガイダンスはどこで確認できますか?

CSS SQL Networking Tools wiki を参照して、Microsoftサポートによって管理されるツールのドキュメントとトラブルシューティングに関するメモを参照してください。