1

我有一个通常在大约 7 分钟内执行的 SSIS 包。在过去的周末,发生了一些奇怪的事情,包运行了 19 多个小时。当我进入集成服务仪表板并尝试深入查看“查看消息”以确定出了什么问题时,我收到了“内存不足”错误。我在尝试提取报告时监控了内存利用率,当内存不足错误发生时,系统仍然显示超过 2.5 GB 的可用空间。Windows Server 2012 上的 SQL 2012。

4

1 回答 1

2

虽然我无法自行解决问题,但如果您想查找错误,可以查询 SSISDB 目录本身。我的收藏列表中有以下 3 个查询,因为您可能会注意到目录中的报告的另一个缺点是您无法从中复制有用的数据。

错误消息类型为 120

-- 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 回答