我想知道实现执行 SQL 任务日志记录的最佳方法是什么。例如,对于我的每个 Execute SQL Task 组件,我想记录以下内容:
1) SQL 任务的描述。2) SQL 任务中使用的 SQL 语句。3) SQL 语句的结果。SQL 语句返回一个标量值。4) SSIS 正在创建的作业运行 ID,即 SSIS 创建的 Operation_Id。
目前,这就是我实现它的方式,这是非常重复的。
1) 对于每个执行 SQL 任务(我们称之为 mySQLTask),我在 mySQLTask 的执行后事件中创建另一个名为“日志结果”的执行 SQL 任务。2) 我创建了一个名为 Log_Result 的存储过程,它从“日志结果”执行 SQL 任务中执行。3) 然后我从 mySQLTask 复制 SQL 语句并将其作为硬编码参数粘贴到存储过程参数中。例如,在 SQL 语句属性的“日志结果”SQL 任务中...“EXEC Log_Result ?,?,'SELECT COUNT(*) FROM TABLE',?
有没有办法可以动态地从 mySQLTask 检索 SQL 语句?有没有更好的方法来做到这一点?
我还探索了 SSIS 在日志记录功能中的 ExecuteSQLExecutingQuery 选项的内置日志记录。它给了我执行的 SQL 语句,但我也想跟踪结果。
谢谢。