sql-server - SSISDB 说包正在运行,但它没有
问题描述
我不时遇到 SSIS 问题,我的包似乎死了。执行报告说程序包正在运行,catalog.executions 视图的 end_time 为 NULL,因此 SSISDB 认为程序包正在运行。但是包正在处理的数据库上没有任何活动,服务器上也没有资源使用,所以我很确定包没有运行。此外,catalog.operation_messages 视图中的最后一条消息已超过 12 小时(它只是一条信息性消息,没有报告错误)。
我如何确定这里发生了什么?是否有另一个日志文件可以提供帮助?或者其他方式来追踪正在发生的事情?
我的 SQL 版本是 2014 企业版。
解决方案
我想我已经找到了我的问题的答案。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,String message_text,Nullable 1 extendedInfoId,String packageName,String packageLocationType,String packagePathFull,String eventName,String messageSource,字符串 messageSrcId,字符串 subComponentName,字符串 packagePath,字符串 executionPath,UInt32 threadId,Nullable`1 messageCode,Int64& eventMessageId) 在 Microsoft.SqlServer.IntegrationServices.Server.ISServerExec。
因此包无法写入数据库并因此失败,但它似乎仍在运行,因为它无法将状态写回数据库!
我的 SSISDB 已经增长到 200GB,所以我认为这是一个问题。我将减小大小并缩短保留期。
推荐阅读
- python-3.x - Python在(引用的)命令字符串中执行带有变量的shell命令
- python - 如何根据字符串在两行之间提取文本文件中的行
- javascript - 将数组与一周中的几天向后移动一天js
- sqlite - 如何将 NON-CSV-DELIMITED ASCII 数据导入 SQLite 3?
- wordpress - 将自定义字段添加到运输选项卡中的 WooComerce 产品设置页面,并根据值应用自动计算
- javascript - 如果我使用 Cypress-cucumber 对两个不同的示例使用两个不同的标签,会出现错误?
- r - 减少 ggplot 图例的 R 表达式中 frac 的间距
- reactjs - 尝试将 Firebase 与 React 一起使用时出现问题
- django - REST Django - 在创建后立即使用 objectID
- youtube-api - YoutubeServies Videos.Update 失败(400 invalidVideoMetadata),即使使用默认返回的视频内容