452

SQL Server に接続しようとすると、次のエラーが発生します。

SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: 名前付きパイプ プロバイダー、エラー: 40 - SQL Server への接続を開けませんでした)

このエラーは、Visual Studio 2010 でデータベースを gridview に構成しようとするとスローされます。このエラーをデバッグする方法がわかりません。

このエラーをどのようにデバッグしますか? エラーメッセージに記載されているものに加えて、ここで実際に何が起こっているのかを判断するには、どのような手順を実行する必要がありますか?

4

45 に答える 45

158

私は私のために解決策を得ました:

「SQL Server 構成マネージャー」を開きます

[SQL Server Network Configuration] をクリックし、[Protocols for Name]をクリックします。

[TCP/IP] を右クリック (有効になっていることを確認) [プロパティ] をクリック

ここで [IP アドレス] タブを選択し、最後のエントリ [すべての IP] に移動します。

「TCP ポート」1433 を入力します。

"SQL Server .Name" を再 起動します。「services.msc」を使用 (winKey + r)

それが動作します...

于 2015-09-08T12:34:31.067 に答える
138

スクリーンショット付きの回答として、非常に賛成のコメントを追加します。

私はこれに多くの時間を費やしましたが、最終的に私にとってうまくいったのは次のとおりです。

1) Sql Server Configuration Manager --> SQL Server Network configuration --> Protocols for <(INSTANCE)> --> TCP/IP (ダブルクリック) を開きます。

ここに画像の説明を入力

2) --> IP アドレス (タブ)を選択します。

3) 最後のエントリIP Allに移動し、 TCP ポート 1433に言及します。

ここに画像の説明を入力

4) services.mscを押しWin+Rて入力します。

5) SQL Server <(INSTANCE)>を再起動します。

ここに画像の説明を入力

この後、問題は解決しました!

于 2016-07-28T15:46:45.003 に答える
95

サービスを開いてSql Server(Sqlexpress)サービスの実行を開始することで、その問題を解決しています。

サービスイメージ

于 2016-02-16T20:14:52.563 に答える
18

押しwindow + R (Run window Open)て実行ウィンドウタイプ"services.msc"と新しいサービスを開いて、私の場合はインスタンス名でSQL SERVERを見つけてSQL SERVER(SQLEXPRESS)から、このサービスを開始してもう一度試してください。ここに画像の説明を入力

于 2016-04-02T08:25:33.173 に答える
17

別の PC で自分の WinForms プロジェクト (SQL Server データベースの操作を含み、自分の PC で完全に動作する) を実行しようとしたときに、同じエラーが発生しました。問題は、PC の Windows ファイアウォールにありました。2 つのルールを追加することでこれを解決しました。これは、Windows ファイアウォールを介して SQL Server を許可する方法全体の手順です。

  1. 「実行」を開いて入力しますservices.msc
  2. SQL Server (インスタンス名) と SQL Server Browser のサービスを見つけます。一度に1つずつ、右クリックして「プロパティ」を選択し、exeファイルへのパスをコピーします
  3. 次に を開きfirewall.cpl、[アプリケーションを許可するかルールを追加] をクリックし、以前にコピーしたパスを追加し (従う必要がある手順があります)、[ドメイン] と [プライベート] をオンにし、[パブリック] をオフにします。

これは、この手順を確認できる YouTube リンクです: Windows ファイアウォールを介した SQL Server の許可

于 2016-02-27T16:10:32.817 に答える
12

私は同じ問題に遭遇しました私の場合、私はこの方法で問題を解決しました

ステップ 1: スタート メニューから SQL Server 構成マネージャーに移動しました

ステップ 2: TCP/IP を有効にする

ここに画像の説明を入力

ステップ 3: TCP/IP をダブルクリックし、IP アドレスの最後のエントリ IP ALL に移動し、TCP ポート 1433 を入力してから適用します。

ここに画像の説明を入力

ステップ4:次にwin + rを押してservices.mscを書き込み、サービスを開き、下にスクロールしてSQL Server(MSSQLSERVER)を右クリックし、再起動を選択します

ここに画像の説明を入力

それは私の問題を解決しました。上記の手順をすべて実行しても問題が解決しない場合でも、PC を再起動するだけで問題が解決することを願っています。

于 2020-07-02T09:05:34.553 に答える
10

上記の解決策のいずれも機能しない場合 (私には何も機能しませんでした)、コンピューターを再起動するだけで、SQL サーバー (localhost) に接続できるようになります。

于 2015-10-08T10:06:44.253 に答える
9

ここに記載されているすべてを実行した後:
http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a- connection-to-sql-server-microsoft-sql-server-error/ それでもうまくいきませんでした。

手順は私のために働いた:

Start > Run > cmd > sqlcmd -L

サーバー名が表示されます。このサーバー名が、SQL 管理スタジオの [サーバーへの接続] ボックスで接続しようとしているものと同じであることを確認してください。

MSSQLSERVERこのサーバー名を使用するのではなく、使用し続けているこのばかげた間違いを犯しました。

これが私のようなばかげた間違いを犯す人々に役立つことを願っています.

ありがとう。

于 2016-02-27T17:47:04.800 に答える
7

SQL Server 2016 と Window 10 を使用しています。

ここに画像の説明を入力

まず、SQL Server へのリモート接続を許可します。私がしたことは、SQL Server 構成マネージャーを開くために、スタート メニューでsqlservermanager13.mscと入力することです。TCP/IP ステータスが有効になっていることを確認します。 ここに画像の説明を入力

TCP/IP プロトコル名をダブルクリックして、TCP ポート番号を確認します。通常、デフォルトでは 1433 です。

ここに画像の説明を入力

次の手順では、セキュリティが強化された Windows ファイアウォール Microsoft 管理コンソール (MMC) スナップインを使用して、Windows ファイアウォールを構成します。セキュリティが強化された Windows ファイアウォールは、現在のプロファイルのみを構成します。

TCP アクセス用に Windows ファイアウォールでポートを開くには

  1. [スタート] メニューで、[ファイル名を指定して実行] をクリックし、「WF.msc」と入力して、[OK] をクリックします。
  2. セキュリティが強化された Windows ファイアウォールの左側のウィンドウで、[受信の規則] を右クリックし、操作ウィンドウで [新しい規則] をクリックします。
  3. [ルールの種類] ダイアログ ボックスで、[ポート] を選択し、[次へ] をクリックします。
  4. [プロトコルとポート] ダイアログ ボックスで、[TCP] を選択します。[特定のローカル ポート] を選択し、データベース エンジンのインスタンスのポート番号 (既定のインスタンスの場合は 1433 など) を入力します。[次へ] をクリックします。
  5. [アクション] ダイアログ ボックスで、[接続を許可する] を選択し、[次へ] をクリックします。
  6. [プロファイル] ダイアログ ボックスで、データベース エンジンに接続するときのコンピューター接続環境を表すプロファイルを選択し、[次へ] をクリックします。
  7. [名前] ダイアログ ボックスで、このルールの名前と説明を入力し、[完了] をクリックします。

構成する別のもの。

動的ポートの使用時に SQL Server へのアクセスを開くには

  1. [スタート] メニューで、[ファイル名を指定して実行] をクリックし、「WF.msc」と入力して、[OK] をクリックします。
  2. セキュリティが強化された Windows ファイアウォールの左側のウィンドウで、[受信の規則] を右クリックし、操作ウィンドウで [新しい規則] をクリックします。
  3. [ルールの種類] ダイアログ ボックスで、[プログラム] を選択し、[次へ] をクリックします。
  4. [プログラム] ダイアログ ボックスで、[このプログラム パス] を選択します。[参照] をクリックし、ファイアウォール経由でアクセスする SQL Server のインスタンスに移動して、[開く] をクリックします。デフォルトでは、SQL Server は C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe にあります。[次へ] をクリックします。
  5. [アクション] ダイアログ ボックスで、[接続を許可する] を選択し、[次へ] をクリックします。
  6. [プロファイル] ダイアログ ボックスで、データベース エンジンに接続するときのコンピューター接続環境を表すプロファイルを選択し、[次へ] をクリックします。
  7. [名前] ダイアログ ボックスで、このルールの名前と説明を入力し、[完了] をクリックします。

Microsoft ドキュメントを参照してください データベース エンジン アクセス用に Windows ファイアウォールを構成する

于 2016-11-11T07:06:19.733 に答える
6

SQL Server BrowserサービスをSQL Server Configuration Managerで実行する必要があります。これがないと、インストール時に新しく作成されたサービスを検出できません。

于 2016-01-27T11:11:35.693 に答える
4

上記の解決策は 90% のケースで機能するはずですが、まだこの回答を読んでいる場合!!! 意図したものとは異なるサーバーに接続しようとしている可能性があります。接続しようとしている実際のサーバーとは異なる SQL サーバーを指している構成ファイルが原因である可能性があります。

少なくとも私には起こりました。

于 2016-04-28T07:51:01.587 に答える
4

SQL Server (MSSQLSERVER) サービスを再起動するだけです。

于 2020-12-26T22:58:48.617 に答える
3

Visual Studio でのデバッグ中にこれが発生した場合は、プロジェクトのビルド パスがローカル ドライブを指していることを確認するか、次の手順に従ってネットワーク フォルダーにアクセス許可を付与してください。

于 2016-11-16T00:20:24.457 に答える
3

Teo Chuen Wei Bryan が提案するすべてを試すことに加えて、接続文字列で正しいサーバー/インスタンス名も参照していることを確認してください。

データベース サーバーまたは web.config ファイルで短い形式のホスト名/インスタンスを使用している場合は、完全修飾ドメイン名 (FQDN)/インスタンスを使用していることを確認してください。

また、SQL サーバー クライアントが存在しないサーバーからの接続をテストするには、

--> テキスト ファイルを作成し、そのファイル拡張子を.udlに変更します。

--> ファイルを右クリックすると、接続タブが表示されます。

--> サーバー名とログオン情報を入力して、データベース サーバーへの接続をテストします。

お役に立てれば。

于 2017-03-15T21:35:20.640 に答える
3

,およびポート番号 (のように,1433) を接続文字列の末尾に追加してみてください。

于 2018-06-07T13:44:08.410 に答える
2

この問題は、Entity Framework を利用するプロジェクトをスタートアップ プロジェクトとして設定し、「update-database」コマンドを実行することで解決しました。

于 2016-10-22T20:34:29.783 に答える
0

SQL Server が実行されていて、それでもエラーが発生する場合。SQL Server を開くと、表示されるデフォルトのサーバー名の代わりに、[サーバー名] -> [詳細を参照] -> [データベース エンジン] オプションで \SQLEXPRESS で終わるサーバー名を選択する必要があります。

于 2021-01-18T00:21:01.990 に答える