【问题标题】:IIS, SQL Server & UmbracoIIS、SQL Server 和 Umbraco
【发布时间】:2019-12-23 21:23:11
【问题描述】:

我想知道是否有人可以帮助我,我们正在运行 Umbraco 安装:

  • 操作系统: Microsoft Windows Server 2016 Standard,v10.0.14393 Build 14393

  • SQL Server:SQL Server 2016 标准版,v13.0.1728.2

  • Umbraco:v7.3.4

服务器在今天早上 5 点进行了预定的重启,从那时起,我们无法让应用程序重新上线,每次我们访问该站点时都会收到以下错误:

[Win32Exception (0x80004005): 等待操作超时]

[SqlException (0x80131904): 执行超时。操作完成前超时时间已过或服务器没有响应。]

System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔型 breakConnection,Action1 wrapCloseInAction) +2442598
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction) +5766516
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +285
System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +4162
System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +58
System.Data.SqlClient.SqlDataReader.get_MetaData() +89
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption) +409
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,RunBehavior runBehavior,Boolean returnStream,Boolean async,Int32 超时,Task& 任务,Boolean asyncWrite,Boolean inRetry,SqlDataReader ds,Boolean describeParameterEncryptionRequest)+2031
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String 方法, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) +911
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +64
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +240
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +41
System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior) +12
StackExchange.Profiling.Data.ProfiledDbCommand.ExecuteDbDataReader(CommandBehavior behavior) +68
System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() +14
Umbraco.Core.Persistence.<Query>d__7
1.MoveNext() +265

我看不到任何更新已运行,并查看了 Windows 更新日志,也没有任何内容。

我试过了

  • 重启服务器
  • 正在重新启动应用程序池。
  • 重新启动 IIS
  • 将超时时间增加到 6000。

如果有人能对此有所了解,那就太好了。

【问题讨论】:

  • 应用程序似乎无法访问数据库。可以通过sql server management studio连接吗?
  • 您好,是的,我可以通过管理工作室正常连接,没有任何错误。 @CyrilDurand
  • 我再次阅读堆栈跟踪,似乎应用程序可以连接到数据库,因为在ExecuteReader 中抛出了异常。您可以使用 sql profiler 更好地了解该命令发生了什么。
  • @CyrilDurand 我在 SQL Profiler 中看不到任何内容,看起来所有跟踪都已完成。我可以看到有关 Examine.ExamineManager._RebuildIndex() +116 的消息,这可能是什么?
  • sql profiler 中的大多数事件都有一个开始和一个停止事件。您能否配置跟踪以查看“开始”和“停止”事件。

标签: sql-server iis umbraco umbraco7


【解决方案1】:

您需要从默认的 30 秒增加命令超时。它是 DbCommand 对象的一个​​属性。

看这里:

https://docs.microsoft.com/en-us/dotnet/api/system.data.common.dbcommand.commandtimeout?view=netframework-4.8

我建议您将其更改为值 0(即无限制)

【讨论】:

    猜你喜欢
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    • 2022-07-22
    • 2013-12-08
    相关资源
    最近更新 更多