2014-11-24 108 views
2

更新雲服務時,我注意到有很多信號量超時的(參見下面的完整的除外)。SQLEXCEPTION在Azure上

我們已經實現了重試邏輯(並且可以看到異常發生在重試封裝內),所以我認爲這可能是一個合乎邏輯的問題,但是我一直無法在互聯網上找到任何相關的實例,我的解決方案!

我的問題是:是否有辦法來處理呢?例如,我們可以以某種方式將所有用戶推送到單個實例並更新另一個實例?目前我們有兩個實例至少運行。

下面是完整的異常:

[SqlException: A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - The semaphore timeout period has expired.)] 
    System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction):0 
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose):0 
    System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error):0 
    System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync():0 
    System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket():0 
    System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer():0 
    System.Data.SqlClient.TdsParserStateObject.TryReadByte(Byte& value):0 
    System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady):0 
    System.Data.SqlClient.SqlDataReader.TryConsumeMetaData():0 
    System.Data.SqlClient.SqlDataReader.get_MetaData():0 
    System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString):0 
    System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite):0 
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite):0 
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method):0 
    System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method):0 
    System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior):0 
    System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult):0 
    System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries):0 
    System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query):0 
    System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression):0 
    System.Linq.Queryable.SingleOrDefault[TSource](IQueryable`1 source):0 
    Microsoft.Practices.TransientFaultHandling.RetryPolicy.ExecuteAction[TResult](Func`1 func):0 
    TimeClock.TimeClockService.GetEmployees(String _apiKey, String _authenticationToken, DateTime _lastSync):0 
+0

我也是。我們在一些Azure網站上偶爾會看到這些數月,但自上週主要的Azure停機以來,我們現在正在更頻繁地使用它們。我將與Azure一起提供支持服務。此外,請參閱[本答案](http://stackoverflow.com/a/26762061/251200)指向[此主題](https://social.msdn.microsoft.com/Forums/azure/en-US/ 5e195f94-d4d2-4c2d-8a4e-7d66b4761510)。 – 2014-11-25 21:01:52

+0

感謝@MattJenkins看起來這是由於一個已知的錯誤與一個非常長期的修復。 – 2014-11-27 03:21:06

回答