我时不时遇到SSIS问题,我的包裹似乎快要死了。 “执行”报告说程序包正在运行,catalog.executions视图的end_time为NULL,因此SSISDB认为程序包正在运行。但是,该程序包正在运行的数据库上没有活动,服务器上也没有资源使用情况,因此,我很确定该程序包未运行。 另外,catalog.operation_messages视图中的最后一条消息已使用了12个小时以上(这只是一条参考消息,未报告任何错误)。
我如何确定这里发生了什么?是否有另一个日志文件可以帮助您?还是通过其他方式跟踪正在发生的事情?
我的SQL版本是2014 Enterprise。
答案 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,所以我认为这引起了问题。我将减小尺寸并缩短保留期。