「SQLServerへの接続の確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、およびSQLServerがリモート接続を許可するように構成されていることを確認してください。 (プロバイダー:名前付きパイププロバイダー、エラー:40 – SQL Serverへの接続を開くことができませんでした)(Microsoft SQL Server、エラー:53)」。
SQL Serverへの接続の確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。
この記事では、SQLサーバーへの接続に使用できるトラブルシューティング方法の完全なリストについて説明します。まず、必要なときに発生する問題について説明します IPアドレスを使用してリモートサーバーに接続します これが最も一般的な原因であるため。これらの手順は「 SQL Server 2008 R2″ オン ' ウィンドウズ10' 、ただし、マイナーな修正を加えて、他のバージョンでも使用できます。
エラーは通常、「 SQLサーバーが見つかりません」 または「 TCPポートが不明または間違っている」 、または 「ファイアウォール」によってブロックされる可能性があります。
方法1: SQLServerのインスタンスに関する情報を収集します。
このセクションでは、いずれかのインスタンスをチェックする方法について説明します。 SQLサーバー 動作しているかどうか、および動作していない場合に修正する方法。
手順1.SQL Serverのインスタンスがインストールされ、機能しているかどうかを確認します
まず、SQLサーバーインスタンスをホストしているコンピューターにログインします。次に、次の手順に従ってWindowsでサービスを開きます。
- クリックしてください 'スタートメニュー' そして、 'すべてのプログラム' 。
- 次に、SQL Serverをポイントし、次にポイントします。 「構成ツール」
- クリック 「SQLServer構成マネージャー」 。
- 今選択 「SQLServerサービス」 右側のペインで、データベースエンジンのインスタンスが実行されているかどうかを確認します。
- さらに、これは入力することで直接開くことができます 「services.msc」 の中に 実行 をクリックします OK 。次の画面が表示されます。
[実行]ボックスに「services.msc」と入力してサービスを開きます。
次に、データベースエンジンがリモート接続を受け入れるように構成されているかどうかを確認します。これを確認するには、次の手順に従います。
- サービスが開かれると、右側のペインにデータベースエンジンが表示されます。ザ・ 「MSSQLSERVER」 デフォルトの名前のないインスタンスです。デフォルトのインスタンスは1つだけです。
- の場合 「SQLExpress」、 デフォルトのインスタンスは 「SQLEXPRESS」 インストール中に誰かが名前を変更しない限り。
- 接続しようとしているインスタンスが、サービスで指定されているものと同じ名前であるかどうかを確認してください。
- また、インスタンスのステータスが 'ランニング' 。
- さらに、名前付きインスタントに接続しようとしている場合は、次のことを再確認してください。 「SQLServerブラウザサービス」 すでに実行されています。したがって、次のことを確認する必要があります。 「SQLServerブラウザサービス」 SQLServerがインストールされているサーバーで起動されます。
- データベースエンジンが実行されていない場合は、再起動する必要があります。だから始めるために 「データベースエンジン」 、右ペインで、を右クリックします。 「データベースエンジン」(「MSSQLSERVER」のデフォルト) 、をクリックします '開始' 。
「SQLServerブラウザサービス」がすでに実行されているかどうかを確認します。
手順2.コンピューターのIPアドレスを取得します。
これを行うには、次の手順に従います。
- まず、スタートメニューからをクリックします 「走る」 とタイプ 「cmd」 を押して OK 。
- に コマンド・プロンプト ウィンドウタイプ 「ipconfig」 とメモします IPV4 そして IPV6アドレス 。人々は主に使用します IPV4アドレス。
IPv4アドレスを取得する
手順3.SQLサーバーが使用するTCPポート番号を取得します
次の手順に従って、SQLサーバーが使用するTCPポート番号を取得します
- 使用する 「SQLServerManagementStudio」( SSMS) SQLサーバーのインスタンスに接続します
- から 「オブジェクトエクスプローラー」 展開 '管理' 、展開 「SQLサーバーログ」 フィルタを適用する必要がある現在のログをクリックします。
- ファイラーを適用するには、[フィルターの適用]をクリックして入力します 「サーバーはリッスンしています」 メッセージにテキストボックスが含まれています。 [フィルターの適用]をクリックして、[OK]を押します。
フィルタを適用しています」サーバーがリッスンしています
- 次のようなメッセージ 「サーバーは[‘any’1433]をリッスンしています」 表示する必要があります。このメッセージは、SQLServerインスタンスがすべてのコンピューターでリッスンしていることを示しています。 IPアドレスIPv4 そして TCPポート です 1433(デフォルト) 。
- 複数のインスタンスの場合、TCPポートはインスタンスごとに異なります。
サーバーがIPv4とポート1433でリッスンしていることを示すメッセージ
- そうでない場合は、をクリックします 'すべてのプログラム' 、MS SQLサーバー構成ツールをポイントし、 「SQLサーバー構成管理」 、を右クリックします 「TCP IP」 [有効にする]をクリックしてSQLサーバーを再起動し、変更によって影響が生じるようにします。
方法2: ポート1433のプロトコルの有効化
に接続する 「データベースエンジン」 多くの場合、別のコンピューターからの使用は許可されていません 'SQLサーバー' 管理者が利用しない限り、実装 「構成マネージャー」 それを許可します。これを行うには、次の手順に従う必要があります。
- クリック 'スタートメニュー' そして、 'すべてのプログラム'
- に向けて 「SQLServer2008R2」
- に向けて 「構成ツール」 、そしてこのクリックの後 「SQLServer構成マネージャー」 。
- 「 SQLServerネットワーク構成」。
- 選択する ' プロトコル MSSQLサーバー用」 。クリック 「TCP IP」 右側のパネルにあります。
「プロトコルタブ」を開く
- タブ内 'プロトコル' enableをとして設定 'はい' 。
- を選択してください 「IPアドレスタブ」 ウィンドウから「 TCPポート」 に等しい ' 1433″ の中に 「IPすべて」 エントリ。
「IPアドレスタブ」でポート番号を設定します
- 次に、データベースエンジンを再起動して、変更を加えて影響を残します。左側のペインからこれを行うには、[SQL Serverサービス]を選択し、右側のペインからデータベースエンジンインスタンスを右クリックして、を押します。 '再起動' 。
方法3: ファイアウォール例外を作成する
Windowsファイアウォールがオンになり、別のコンピューターからのリンクがブロックされることがあります。これを修正するには、次の手順に従います。
- 「開始」をクリックして入力を開始します 「firewall.cpl」 実行ボックスで。
「Firewall.cpl」を開く
- を実行すると、Windowsファイアウォールの「構成フレーム」を取得できます。 「firewall.cpl」 コマンド。あなたはファイアウォールを回すことができます 'オンオフ' ここで適用される例外およびその他の設定を除きます。ファイアウォールのステータスを確認し、ファイアウォールがオフの場合はオンにしてアクティブにします。これをオンにしたばかりの場合、ファイアウォールはこの時点でコンピューターへの「SQLServer」接続要求をブロックします。特定の例外を作成することにより、SQLServerデータベースエンジンへのアクセスを許可するようにファイアウォールを構成する必要があります。
- 「詳細設定」をクリックします
詳細設定オプションをクリックして、ファイアウォールルールを開きます
- 「」に使用されるポートについて学ぶ必要があります。 SQLサーバー ' そしてその ' SQLServerブラウザ 「SQLServer」ファイアウォール構成を処理する場合の「」機能。どちらも「 ファイアウォール ' のために 'SQLサーバー' 。したがって、両方の概念を別々に検討する必要があります。
- 君は五月許可またはブロックトラフィック試みそれ会うインクルード要件にインクルードルールにアクセスインクルードコンピューター。沿ってデフォルト 「インバウンド トラフィック' ですブロックされた、君は必要に確立する 「インバウンド ルール' に許可するトラフィックにに達するコンピューター。タップインクルードインバウンドルールからインクルード左パンのインクルード 'ウィンドウズファイアウォールと高度な セキュリティ 」をクリックしてクリックしますインクルード新着ルールからインクルード '行動' 窓。
「アクション」ウィンドウからの新しいルールの選択。
- 選択する ' 港 「」下 ' ルール タイプ 「」そして押す 「」 次' ボタン
「ポート」オプションの選択
- 今選択 「特定のローカルポート」 そしてそれを1433に設定します
「特定のローカルポート」を1433に設定します
- 今選択 「許可するインクルード 接続' にインクルード 'アクション' ダイアログそして押すインクルード次ボタン
[接続を許可する]を選択します
- 与えるインクルードルールに 「」 題名' オンこのステージそして押す「 終了」 ボタン。
ルールにタイトルを付ける
- 選択する ' カスタムルール」 から 「新しいルール」 タブ
「新規ルール」タブから「カスタムルール」を選択
- クリック 'カスタマイズ'
「カスタマイズ」をクリックします
- 選択する ' データベースエンジンインスタンス サービス' からインクルード 'カスタマイズサービス 設定' 下 「適用するにこの サービス' そしてクリックインクルード 'OK' ボタン
「このサービスに適用」の下の「サービス設定のカスタマイズ」から「データベースエンジンインスタンスサービス」を選択し、「OK」ボタンをクリックします。
- ルールに名前を付けて、[完了]をクリックします
新しいルールにタイトルを付ける
- また、追加します 「sqlservr.exe」 通常は 「C: ProgramFiles(x86) Microsoft SQL Server MSSQL.x MSSQL Bin」(または実際のフォルダーパスを確認してください) パスへのインストールを確認して、実際のフォルダパス)とデフォルト値が 「1433」 。また、接続文字列を確認してください。
方法4:ローカル接続を確認する
このエラーの理由の1つは、間違ったサーバー名を指定すると、エラーが発生することです。下の図に示すように、提供されたサーバー名は 「DESKTOP-UD88TLT1」 一方、正確なサーバー名は 「デスクトップ-UD88TLT」 。そのため、サーバーに接続できず、エラーが発生します 'サーバーに接続できません' 。これがエラーの最も基本的な理由であるため、ローカルで作業する場合は最初に確認する必要があります。
間違ったサーバー名でSQLサーバーにローカル接続しているときにエラーが発生するサーバー名の後にExpressEditionを使用している場合は、次のように追加します 「 SQLEXPRESS」 下の図に見られるように。
ExpressEditionの使用中にSQLサーバーにローカルに接続する
読んだ5分