SQL Server に接続するアプリケーションのトラブルシューティング方法

SQL Server に接続するアプリケーションのトラブルシューティング方法

私はASP.net StoreFrontをWindows Server 2008上のSQL Server Express 2005に接続しようとしています。このMicrosoftサポート記事は成功しませんでした以下にエラーを示します。

[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)]
AspDotNetStorefront.Global.Application_BeginRequest(Object sender, EventArgs e) +286
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171

Linux システムでこのエラーが発生した場合は、SQL 固有の接続クライアントを使用して接続をテストします (例mysql)。 を使用してtelnetポートをテストし、iptablesそれが問題だった場合は でフォローアップします。Windows で同じことを実行する方法がわかりません。同じ資格情報を使用して SQL Server Management Studio Express を使用して認証しましたか? データソースの一部 (ホスト/サーバー識別子であるはずです) について少し確信が持てないため、疑問符を付けました。Windows ファイアウォールは L7 で動作するため (アプリケーションをチェックします)、telnet はポートをテストしないと思います。サーバーに接続できないことが問題なのか、サーバーへの接続方法を定義する構成が問題なのかをどうやって確認すればよいですか? (注: セキュリティは私にとって無関係です。この VM は開発目的のみで、ラップトップのファイアウォールの背後にあり、NAT はありません)

答え1

問題は私の設定にありました。私は最終的に、sqlcmd.exe指定したパラメータを使用して手動で接続を試みることによってトラブルシューティングしましたが、うまくいきませんでした。その文書そして、それはおそらく不十分だと気づきました。ドキュメントに記載されているように、localhostを含める必要がありました。これを文字列と xml 構成に追加すると、接続の問題が修正されました。instance-S [protocol:]server[\instance_name][,port]sqlcmd

関連情報