sql-server - SSIS包作业执行完成后如何查看结果?

标签 sql-server sql-server-2008 ssis

我有一个 SSIS 包,它将数据导入 SQL Server 2008 数据库。我已经在 SQL Server 代理中设置了计划作业来运行该包。当我查看历史记录时,我只能看到作业是否运行成功。除此之外我看不到其他消息。

我想知道每次执行作业时导入了多少条记录。我怎样才能监控它?我应该使用 SSIS 包中的附加组件还是在 SQL Server 代理作业设置中设置一些配置?

我在 SQL Server 代理作业设置中找到了一些日志记录工具,但我不确定它是否可以满足我的要求。

最佳答案

如果您只是想了解正在处理的列,而对进一步使用的信息不感兴趣,一种可能的选择是使用 SSIS 日志记录功能。以下是它如何用于数据流任务。

  1. 单击 SSIS 包。
  2. 在菜单上,选择SSIS --> 日志记录...
  3. 在“配置 SSIS 日志:”对话框中,选择提供程序类型并单击“添加”。我选择 SQL Server 作为本示例。选中名称复选框并在配置列下提供数据源。这里 SQLServer 是连接管理器的名称。 SSIS 将在您选择的数据库中创建一个名为dbo.sysssislog 的表和存储过程dbo.sp_ssis_addlogentry。请参阅下面的屏幕截图#1
  4. 如果您需要处理行,请选中“OnInformation”复选框。在示例中,包执行成功,因此在 OnInformation 下找到日志记录。您可能需要根据您的要求微调此事件选择。请参阅下面的屏幕截图#2
  5. 以下是数据流任务中的示例包执行。请参阅下面的屏幕截图#3
  6. 以下是日志表 dbo.sysssislog 的示例输出。我只显示了 idmessage 列。表中还有许多其他列。在查询中,我仅过滤名为“Package1”的包和事件“OnInformation”的输出。您可以注意到 ID 为 7、14 和 15 的记录包含已处理的行。请参阅下面的屏幕截图#4

希望有帮助。

屏幕截图#1:

Logging

屏幕截图#2:

Events

屏幕截图#3:

Execution

屏幕截图#4:

Data

关于sql-server - SSIS包作业执行完成后如何查看结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6122773/

相关文章:

Sql根据用户名返回表信息

sql-server - SQL SERVER 2008 Select 语句

sql - SYS.DM_TRAN_LOCKS 表 RESOURCE_ASSOCIATED_ENTITY_ID 列中的奇怪值

shell - 脚本文件执行正常,但在 SSIS 中使用 WinSCP 失败

python - 使用 Python 和 SQL Server 的 ETL 过程需要很长时间才能加载

c# - NHibernate - 从 sql 函数返回复杂对象

sql-server - T-SQL : Where xxx IN temporary table

SQL Server : calculating date ranges

sql-server-2008 - 从 SQL Server 加载 SSIS 是否会影响数据库缓存?

sql-server - 需要基于SSIS中的其他列来增加列值