2016-07-04 57 views
0

我有我的新PC上昨天安裝了SQL Server 2014年,這是工作,直到我重新啓動我的電腦,現在我得到這個錯誤。命令超時的SQL Server 2014 +實體框架

我已經開始/ SQL Server重啓服務等。

我仍然可以從管理Studio連接。

當加入EF模型,我的asp.net項目,它可以列出數據庫並獲取表格生成EF模型,但我不能因爲這個超時異常的數據庫做任何事情,數據庫幾乎是空的(只有1個與1個用戶中),我執行簡單查詢(如選擇表中,添加)

using(var db = new TestEntities()) 
{ 
    var _user = db.Users.FirstOrDefault(); // timeout exception 
} 

未處理的異常:System.Data.Entity.Core.EntityCommandExecutionException:執行命令定義時發生錯誤。詳情請參閱內部例外。 ---> System.Data.SqlClient.SqlException:超時過期。操作完成之前超時的時間或服務器沒有響應。 ---> System.ComponentModel.Win32Exception:等待操作超時
---內部異常堆棧跟蹤結束---
at System.Data.SqlClient.SqlConnection.OnError(SqlException異常,Boolean breakConnection,Action 1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action 1個wrapCloseInAction) 在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,布爾callerHasConnectionLock,布爾asyncClose) 在System.Data.SqlClient.TdsParser.TryRun(runBehavior runBehavior,SqlCommand的cmdHandler,SqlDataReader的數據流,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj布爾& dataReady) 在System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() 在System.Data.SqlClient.SqlData在System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString)上的Reader.get_MetaData() at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,Boolean async, INT32超時,任務&任務,布爾asyncWrite,SqlDataReader的DS,布爾describeParameterEncryptionRequest) 在System.Data.SqlClient.SqlCommand.RunExecuteReader(的CommandBehavior cmdBehavior,runBehavior runBehavior,布爾returnStream,字符串方法,TaskCompletionSource 1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.<Reader>b__c(DbCommand t, DbCommandInterceptionContext 1C) 在System.Data .Entity.Infrastructure.Interception.InternalDispatcher 1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func 3的操作,TInterceptionContext interceptionContext,動作3 executing, Action 3執行的) 在System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand命令,DbCommandInterceptionContext interceptionContext) at System.Data.Entity.Internal.InterceptableDbCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.ExecuteReader (CommandBehavior行爲) at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior behavior) ---內部異常堆棧跟蹤結束--- 在System.Data.Entity.Core .EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,的CommandBehavior行爲) 在System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute [TResultType](ObjectContext的上下文中,ObjectParameterColl ection parameterValues) at System.Data.Entity.Core.Objects.ObjectQuery 1.<>c__DisplayClass7.<GetResults>b__6() at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func 1 func,IDbExecutionStrategy executionStrategy,Boolean startLocalTransaction,Boolean releaseConnectionOnSuccess) at System.Data.Entity.Core.Objects。的ObjectQuery 1.<>c__DisplayClass7.<GetResults>b__5() at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func 1操作) 在System.Data.Entity.Core.Objects.ObjectQuery 1.GetResults(Nullable 1個forMergeOption) 在System.Data.Entity.Core.Objects.ObjectQuery 1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0() at System.Data.Entity.Internal.LazyEnumerator 1.MoveNext() 在System.Linq.Enumerable.Single [TSource](IEnumerable的1 source) at System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.<GetElementFunction>b__3[TResult](IEnumerable 1序列) 在System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.ExecuteSingle [TResult](IEnumerable的1 query, Expression queryRoot) at System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[TResult](Expression expression) at System.Data.Entity.Internal.Linq.DbQueryProvider.Execute[TResult](Expression expression) at System.Linq.Queryable.Count[TSource](IQueryable 1源)

+0

好的我找到了解決方案,我需要編寫「db.Database.Connection.Open();」爲了使它工作,爲什麼不自動打開連接? – AlekPsk

+0

哈哈wut?你不必這樣做,特別是如果使用。這裏還有其他問題pal –

回答

-1

按窗口+ R>「SERVICES.MSC 「> SQL Server(MSSQLSERVER)>右鍵單擊>啓動

sql服務器實例關閉,因此服務器無法響應。

+0

它已經開始,我可以從Management Studio連接並對數據庫進行任何操作,EF也可以生成模型並進行連接,事情是我只能不能執行任何查詢,因此暫停 – AlekPsk

+0

超時異常之前經過了多少秒? –

+0

30188毫秒 – AlekPsk

0

設置超時的命令

SqlCommand.CommandTimeout

有可能是另一個問題

和測試一個簡單的選擇一樣選擇@@ versino

+0

您收到「select @@ versinon」超時? – Paparazzi

+0

var x = db.Database.ExecuteSqlCommand(「SELECT @@ VERSION」); //得到-1返回 – AlekPsk

+0

那麼你有東西,所以繼續挖 – Paparazzi

-1

這可能是因爲TCP/IP協議未啓用?檢查SQL Server配置管理器。 也可能是它不接受遠程連接。爲此,您需要檢查SQL Server Management Studio,服務器屬性,連接。

+0

上面的評論說,如果連接手動打開,它的工作原理。 – DavidG