将 SSIS 执行结果存储到 table
Storing SSIS Execution Results in to a table
我在 SQL Server 2008 中创建了一些 SSIS 包。我想知道我们是否有任何标准方法将所有执行结果转储到 table 以跟踪包的状态,而不是将输出截屏。
我已经在我的 SSIS 包中实现了包日志记录并执行了它。 ,我为 SQL 服务器选择了 SSIS 日志提供程序,并选择了一个 OLEDB 连接进行配置,选择了要记录的事件。但是,我不确定在执行包后去哪里寻找。谁能告诉我在哪里可以看到存储的结果?我认为它可能会自动创建一个 table,但似乎并非如此!
为了更清楚,我从这个 MSDN 开始 Link Enable Package Logging in SQL Server Data Tools
这不是 'standard' 方法 - 但效果很好,而且易于实施。
在包的开头,有一个执行 sql 任务 'Write ETL Log',它将时间戳、包描述和详细信息添加到 ETL 日志 table:
INSERT INTO [Staging].[dbo].[ETL_Log] VALUES ('2015-07-28 16:41:32','ETL Process ABC','Started...')
在包的末尾,我有另一个执行 sql 任务,它执行如下操作:
INSERT INTO [Staging].[dbo].[ETL_Log] VALUES ('2015-07-28 16:47:40','ETL Process ABC','Complete. A:\floppitout.bas has been successfully loaded')
这使得您可以轻松地记录您需要的相关详细信息 table,并且多余的信息最少。您可以编写一个存储过程来检查此 table 是否已经开始但未完成的作业,或者您期望 运行 但根本没有 运行 的作业。祝你好运。
它在相关数据库的系统表中创建一个名为 'sysssislog' 的 table。
如果您使用的是 SSMS,展开数据库、表、系统表,您会看到 table dbo.sysssislog.
我在 SQL Server 2008 中创建了一些 SSIS 包。我想知道我们是否有任何标准方法将所有执行结果转储到 table 以跟踪包的状态,而不是将输出截屏。
我已经在我的 SSIS 包中实现了包日志记录并执行了它。 ,我为 SQL 服务器选择了 SSIS 日志提供程序,并选择了一个 OLEDB 连接进行配置,选择了要记录的事件。但是,我不确定在执行包后去哪里寻找。谁能告诉我在哪里可以看到存储的结果?我认为它可能会自动创建一个 table,但似乎并非如此!
为了更清楚,我从这个 MSDN 开始 Link Enable Package Logging in SQL Server Data Tools
这不是 'standard' 方法 - 但效果很好,而且易于实施。
在包的开头,有一个执行 sql 任务 'Write ETL Log',它将时间戳、包描述和详细信息添加到 ETL 日志 table:
INSERT INTO [Staging].[dbo].[ETL_Log] VALUES ('2015-07-28 16:41:32','ETL Process ABC','Started...')
在包的末尾,我有另一个执行 sql 任务,它执行如下操作:
INSERT INTO [Staging].[dbo].[ETL_Log] VALUES ('2015-07-28 16:47:40','ETL Process ABC','Complete. A:\floppitout.bas has been successfully loaded')
这使得您可以轻松地记录您需要的相关详细信息 table,并且多余的信息最少。您可以编写一个存储过程来检查此 table 是否已经开始但未完成的作业,或者您期望 运行 但根本没有 运行 的作业。祝你好运。
它在相关数据库的系统表中创建一个名为 'sysssislog' 的 table。
如果您使用的是 SSMS,展开数据库、表、系统表,您会看到 table dbo.sysssislog.