我有一个通常在大约 7 分钟内执行的 SSIS 包。在过去的周末,发生了一些奇怪的事情,包运行了 19 多个小时。当我进入集成服务仪表板并尝试深入查看“查看消息”以确定出了什么问题时,我收到了“内存不足”错误。我在尝试提取报告时监控了内存利用率,当内存不足错误发生时,系统仍然显示超过 2.5 GB 的可用空间。Windows Server 2012 上的 SQL 2012。
问问题
893 次
1 回答
2
虽然我无法自行解决问题,但如果您想查找错误,可以查询 SSISDB 目录本身。我的收藏列表中有以下 3 个查询,因为您可能会注意到目录中的报告的另一个缺点是您无法从中复制有用的数据。
-- Find all error messages
SELECT
OM.operation_message_id
, OM.operation_id
, OM.message_time
, OM.message_type
, OM.message_source_type
, OM.message
, OM.extended_info_id
FROM
catalog.operation_messages AS OM
WHERE
OM.message_type = 120;
-- Generate all the messages associated to failing operations
SELECT
OM.operation_message_id
, OM.operation_id
, OM.message_time
, OM.message_type
, OM.message_source_type
, OM.message
, OM.extended_info_id
FROM
catalog.operation_messages AS OM
INNER JOIN
(
-- Find failing operations
SELECT DISTINCT
OM.operation_id
FROM
catalog.operation_messages AS OM
WHERE
OM.message_type = 120
) D
ON D.operation_id = OM.operation_id;
-- Find all messages associated to the last failing run
SELECT
OM.operation_message_id
, OM.operation_id
, OM.message_time
, OM.message_type
, OM.message_source_type
, OM.message
, OM.extended_info_id
FROM
catalog.operation_messages AS OM
WHERE
OM.operation_id =
(
-- Find the last failing operations
-- lazy assumption that biggest operation
-- id is last. Could be incorrect if a long
-- running process fails after a quick process
-- has also failed
SELECT
MAX(OM.operation_id)
FROM
catalog.operation_messages AS OM
WHERE
OM.message_type = 120
);
于 2013-07-08T16:42:09.030 回答