SSISDB说程序包正在运行,但没有运行

时间:2019-04-16 08:31:25

标签: sql-server ssis

我时不时遇到SSIS问题,我的包裹似乎快要死了。 “执行”报告说程序包正在运行,catalog.executions视图的end_time为NULL,因此SSISDB认为程序包正在运行。但是,该程序包正在运行的数据库上没有活动,服务器上也没有资源使用情况,因此,我很确定该程序包未运行。 另外,catalog.operation_messages视图中的最后一条消息已使用了12个小时以上(这只是一条参考消息,未报告任何错误)。

我如何确定这里发生了什么?是否有另一个日志文件可以帮助您?还是通过其他方式跟踪正在发生的事情?

我的SQL版本是2014 Enterprise。

1 个答案:

答案 0 :(得分:1)

我想我已经找到问题的答案。 Windows应用程序日志揭示了该问题:

  

SSIS执行过程无法写入IS目录:   IEDC-PTF-PSV007:SSISDB错误详细信息:无法将新消息添加到   操作消息表。:系统内存不足   在资源池“默认”中运行此查询。在   Microsoft.SqlServer.IntegrationServices.Server.ISServerExec.ISServerHelper.AppendEventMessage(SqlCommand   cmd,Int64 operationId,Int32 message_type,DateTimeOffset   message_time,Int16 message_source,字符串message_text,可为空   extendedInfoId,字符串packageName,字符串packageLocationType,字符串   packagePathFull,字符串eventName,字符串messageSource,字符串   messageSrcId,字符串subComponentName,字符串packagePath,字符串   executionPath,UInt32 threadId,Nullable`1 messageCode,Int64&   eventMessageId)   Microsoft.SqlServer.IntegrationServices.Server.ISServerExec.BasicEventInfo.WriteInternal(SqlCommand   sqlCommand)   Microsoft.SqlServer.IntegrationServices.Server.ISServerExec.CompositeLog.WriteInternal(SqlCommand   sqlCommand)   Microsoft.SqlServer.IntegrationServices.Server.ISServerExec.Loggable.Microsoft.SqlServer.IntegrationServices.Server.ISServerExec.ILoggable.Write(SqlConnection   conn)

因此该程序包无法写入数据库,因此失败了,但是它似乎仍在运行,因为它无法将状态写回数据库!

我的SSISDB已增长到200GB,所以我认为这引起了问题。我将减小尺寸并缩短保留期。