对包连接进行故障排除的工具
Integration Services 包括一些功能和工具,您可以利用它们对在包和包从其提取和加载数据的数据源之间的连接进行故障排除。
外部数据访问接口问题的故障排除
很多包在与外部数据访问接口交互时会失败。 但是,这些访问接口返回到 Integration Services 的消息经常无法提供足够的信息来对交互开始进行故障排除。 为了满足此故障排除的需要,Integration Services 包含日志记录消息,这些消息可用来对包与外部数据源的交互进行故障排除。
启用日志记录并选择包的“诊断”事件可以看到故障排除消息。 下列 Integration Services 组件能够在每次对外部数据访问接口的调用前后向日志写入消息:
OLE DB 连接管理器、OLE DB 源以及 OLE DB 目标
ADO.NET 连接管理器和 ADO NET 源
执行 SQL 任务
查找转换、OLE DB 命令转换和渐变维度转换
日志记录消息包括正被调用的方法的名称。 例如,这些日志消息可能包括 OLE DB Connection 对象的 Open 方法或 Command 对象的 ExecuteNonQuery 方法。 这些消息具有以下格式(其中“%1!s!”为方法信息的占位符):
ExternalRequest_pre: The object is ready to make the following external request: '%1!s!'. ExternalRequest_post: '%1!s!'. The external request has completed.
若要对与外部数据访问接口的交互进行故障排除,请检查日志,以查看每个“之前”消息 (ExternalRequest_pre) 是否都具有相对应的“之后”消息 (ExternalRequest_post)。 如果没有对应的“之后”消息,就会知道外部数据访问接口不会按预期方式回应。
下面的示例显示了包含这些日志记录消息的日志中的一些示例行:
ExternalRequest_pre: The object is ready to make the following external request: 'ITransactionJoin::JoinTransaction'. ExternalRequest_post: 'ITransactionJoin::JoinTransaction succeeded'. The external request has completed. ExternalRequest_pre: The object is ready to make the following external request: 'IDbConnection.Open'. ExternalRequest_post: 'IDbConnection.Open succeeded'. The external request has completed. ExternalRequest_pre: The object is ready to make the following external request: 'IDbConnection.CreateCommand'. ExternalRequest_post: 'IDbConnection.CreateCommand finished'. The external request has completed." ExternalRequest_pre: The object is ready to make the following external request: 'IDbCommand.ExecuteReader'. ExternalRequest_post: 'IDbCommand.ExecuteReader finished'. The external request has completed." ExternalRequest_pre: The object is ready to make the following external request: 'IDataReader.GetSchemaTable'. ExternalRequest_post: 'IDataReader.GetSchemaTable finished'. The external request has completed." ExternalRequest_pre: The object is ready to make the following external request: 'IDataReader.Close'. ExternalRequest_post: 'IDataReader.Close finished'. The external request has completed." ExternalRequest_pre: The object is ready to make the following external request: 'IDbConnection.Close'. ExternalRequest_post: 'IDbConnection.Close finished'. The external request has completed."
|