0

私は最も奇妙な問題を抱えています: ある夜、突然サイトが SQL Server に接続できなくなったとき、私が作業している新しいサイトをコーディングしているときに、すべてが正常に機能していました。SQL Server Management Studio を使用して問題なく接続できますが、サイトで次の例外がスローされます。

このマシンのファイアウォールは完全に無効になっています。

考えられる問題の 1 つは、作成したローカル ユーザーで SQL Server を実行していることです。問題が解決するかどうかを確認するために SQL Server サービスを再起動すると、ログインに失敗したというメッセージが表示されることがあります。次に、最初にサービスを実行したのと同じ資格情報を再入力すると、アカウントにサービスとしてのログイン権限が付与されていることを再度示した後、サービスが起動します。ただし、NETWORK SERVICES と LOCAL SYSTEM を使用してみましたが、どちらもサイトから同じ例外が表示されます。

ただし、時々、それは機能します。ドメインに接続されたノートブックでこれを実行しているので、自宅にいる間にドメインと通信できないことが原因であるかどうか疑問に思っています。ただし、作成したサービス アカウントはローカル アカウントです。

ただし、Windows 8 EnterpriseのIIS Expressでこれを実行しています(Win8の既知の問題の場合に備えて)。

Pooling=no接続文字列に追加しても効果はありません。[参照]

これが私の接続文字列ですData Source=.;Initial Catalog=NotesBoard;Integrated Security=SSPI; 。「。」の代わりにマシン名も使用しました。同じ結果で。FQDNも試しました。

System.Web.HttpException がユーザー コードによって処理されませんでした
HResult=-2147467259 Message=SQL Server データベースに接続できません。ソース = System.Web ErrorCode =-2147467259 WebEventCode = 0 StackTrace: System.Web.DataAccess.SqlConnectionHelper.CreateMdfFile (文字列 fullFileName、文字列 dataDir、文字列 connectionString) で System.Web.DataAccess.SqlConnectionHelper.EnsureDBFile (文字列 connectionString) システムで.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation) at System.Web.Security.SqlRoleProvider.GetRolesForUser(String username) at WebMatrix.WebData.SimpleRoleProvider.GetRolesForUser(String username) at System.Web.Security.RolePrincipal. d の ASP._Page_Views_Shared__Layout_cshtml.Execute() での IsInRole(String role):1 body) at System.Web.WebPages.WebPageBase.PopContext() at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17() at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func1 継続)
InnerException: System.Web.HttpException HResult=-2147467259 Message=SQL Server データベースに接続できません。Source=System.Web ErrorCode=-2147467259 WebEventCode=0 StackTrace: System.Web.Management.SqlServices.GetSqlConnection (文字列サーバー、文字列ユーザー、文字列パスワード、ブール値の信頼済み、文字列 connectionString) で System.Web.Management.SqlServices.SetupApplicationServices System.Web.Management.SqlServices.Install (文字列データベース、文字列 dbFileName、文字列 connectionString) で (文字列サーバー、文字列ユーザー、文字列パスワード、ブール値の信頼済み、文字列接続文字列、文字列データベース、文字列 dbFileName、SqlFeatures 機能、ブール値のインストール) システムで.Web.DataAccess.SqlConnectionHelper.CreateMdfFile(String fullFileName, String dataDir, String connectionString) InnerException: System.Data.SqlClient.SqlException HResult=-2146232060 Message=SQL Server への接続の確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: SQL ネットワーク インターフェイス、エラー: 26 - 指定されたサーバー/インスタンスの検索エラー) Source=.Net SqlClient Data Provider ErrorCode=-2146232060 Class=20 LineNumber=0 Number=-1 Server="" State=0 StackTrace: at System .Data.SqlClient.SqlInternalConnection.OnError(SqlException 例外、1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions) at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSourceSystem.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource1 回の再試行) で System.Data.SqlClient.SqlConnection.Open() で System.Web.Management.SqlServices .GetSqlConnection(文字列サーバー、文字列ユーザー、文字列パスワード、ブール値信頼、文字列接続文字列) InnerException:

更新:このエラーは、こちら の新しい投稿でより明確に定義されています

4

1 に答える 1

0

サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。

Web サーバーと SQL サーバー間のネットワークの問題のようです。ファイアウォール、DNS など、何でもかまいません。SQL サーバーの断続的な問題である可能性もあります。

詳細については、システム管理者に相談してください。コードに問題はありません。

于 2013-01-15T09:45:02.917 に答える