SSIS教程SQlServer2008R2 (4) 添加日志记录 Log

时间:2024-02-23 22:24:14

第 4 课:添加日志记录

SQL Server 2008 R2

 

MicrosoftIntegration Services 包含日志记录功能,这些功能使您可以通过提供任务和容器事件跟踪来对包执行疑难排解和监控。日志记录功能非常灵活,可以在包级别或在包中的各个任务和容器上启用。 可以选择要记录的事件,也可以对单个包创建多个日志。

日志记录由日志提供程序提供。 每个日志提供程序可以将日志记录信息写入不同的格式和目标类型。IntegrationServices 提供了以下日志提供程序:

·        文本文件

·        SQL Server Profiler

·        Windows 事件日志

·        SQL Server

·        XML 文件

在本课中,您将为第 3 课:添加包配置中创建的包创建副本。使用这个新包,您将添加并配置日志记录,以在包执行过程中监控特定事件。 如果您尚未完成前面的任何课程,也可以复制本教程附带的已完成的 Lesson 3 包。

重要提示

本教程需要 AdventureWorksDW 示例数据库。 有关如何安装和部署 AdventureWorksDW 的详细信息,请参阅安装 SQL Server 示例和示例数据库的注意事项

课程任务


本课程包含以下任务:

·        任务 1:复制 Lesson 3 包

·        任务 2:添加并配置日志记录

·        任务 3:测试 Lesson 4 教程包

任务 1:复制 Lesson 3 包

SQL Server 2008 R2

在本任务中,您将创建在第 3 课中创建的 Lesson 3.dtsx 包的副本,或者将本教程中附带的已完成的 Lesson 3 包添加到项目中,然后再对其进行复制。您将使用这一新副本来完成第 4 课剩余部分。

由于包配置信息将随包本身一同复制,因此您还必须修改包配置以还原上一课中所做的一项更改,并将 Foreach 循环重新指向原始的示例数据文件夹。

创建 Lesson 4 包

1.   如果 Business IntelligenceDevelopment Studio 尚未打开,请单击“开始”,依次指向“所有程序”和 Microsoft SQLServer,再单击 BusinessIntelligence Development Studio。

2.   在“文件”菜单中,单击“打开”,单击“项目/解决方案”,选择 SSIS Tutorial,再单击“打开”,然后双击 SSISTutorial.sln。

3.   在解决方案资源管理器中,右键单击 Lesson 3.dtsx,再单击“复制”。

4.   在解决方案资源管理器中,右键单击“SSIS 包”,再单击“粘贴”。

默认情况下,复制的包命名为 Lesson 4.dtsx。

5.   在解决方案资源管理器中,双击 Lesson 4.dtsx 打开该包。

6.   右键单击“控制流”选项卡背景的任意位置,再单击“属性”。

7.   在“属性”窗口中,将Name 属性更新为Lesson 4。

8.   单击 ID 属性框,然后在列表中,单击“<生成新 ID>”。

添加已完成的 Lesson 3 包

1.   依次打开 Business IntelligenceDevelopment Studio 和 SSIS Tutorial 项目。

2.   在解决方案资源管理器中,右键单击“SSIS 包”,再单击“添加现有包”。

3.   在“添加现有包的副本”对话框的“包位置”中,选择“文件系统”。

4.   单击浏览 (…) 按钮,导航到 C:\Program Files\Microsoft SQLServer\100\Samples\Integration Services\ Tutorial\ Creating a Simple ETLpackage\Completed Packages,选择 Lesson3.dtsx,再单击“打开”。

5.   按先前过程中步骤 3 到步骤 8 所述,复制并粘贴 Lesson 3 包。

修改包配置

1.   在 记事本或其他任何文本编辑器中,找到并打开您在上一课中使用包配置向导创建的 SSISTutorial.dtsConfig 配置文件。如果要从本课开始学习并且未创建配置文件,则可以使用位于文件夹 c:\Program Files\SQL Server\100\Samples\IntegrationServices/Tutorial/Creating a Simple ETL Package\Completed Packages 中的配置文件。

2.   将 ConfiguredValue 元素的值更改回原始的示例数据文件夹。默认情况下,示例数据安装在 c:\ProgramFiles\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Creating aSimple ETL Package\Sample Data 文件夹中。如果要从本课开始学习并且先前未修改该文件,则不需要进行任何更改。

注意

在 XML 配置文件中,无需使用引号将路径括起。

3.   保存更改,再关闭文本编辑器。

任务 2:添加并配置日志记录

SQL Server 2008 R2

其他版本

在该任务中,将要为 Lesson 4.dtsx 包中的数据流启用日志记录。然后,将配置一个文本文件日志提供程序,以记录 PipelineExecutionPlan 和PipelineExecuteTrees 事件。该文本文件日志提供程序可以创建便于查看并可轻松传输的日志。由于便于使用,因此,这些日志文件在包的基本测试阶段非常有用。您也可以在 SSIS 设计器的“日志事件”窗口中查看日志条目。

向包中添加日志记录

1.   在 SSIS 菜单上,单击“日志记录”。

2.   在“配置 SSIS 日志”对话框的“容器”窗格中,确保选中了最前面的代表 Lesson 4 包的对象。

3.   在“提供程序和日志”选项卡的“提供程序类型”框中,选择“用于文本文件的 SSIS 日志提供程序”,然后单击“添加”。

Integration Services 将向包中添加一个默认名称为用于文本文件的 SSIS 日志提供程序的新文本文件日志提供程序。现在便可对新的日志提供程序进行配置。

4.   在“名称”列中,键入 Lesson 4 LogFile。

5.   也可以修改“说明”。

6.   在“配置”列中,单击“<新建连接>”,以指定用于写入日志信息的目标。

在“文件连接管理器编辑器”对话框中,对“使用类型”选择“创建文件”,然后单击“浏览”。默认情况下,“选择文件”对话框将打开项目文件夹,但您可以将日志信息保存到任何位置。

7.   在“选择文件”对话框的“文件名”框中,键入 TutorialLog.log,然后单击“打开”。

8.   单击“确定”关闭“文件连接管理器编辑器”对话框。

9.   在“容器”窗格中,展开包容器层次结构中的所有节点,然后清除包括 Extract Sample Currency Data 复选框在内的所有复选框。现在选中Extract Sample Currency Data 复选框以仅获取有关此节点的事件。

重要提示

如果 Extract Sample Currency Data 复选框显示为灰色而并非选中状态,则该任务将使用父容器的日志设置,无法启用任务特定的日志事件。

10.在“详细信息”选项卡的“事件”列中,选择 PipelineExecutionPlan 和 PipelineExecutionTrees 事件。

11.单击“高级”可查看日志提供程序将为每个事件写入日志的详细信息。默认情况下,将为您指定的事件自动选择所有信息类别。

12.单击“基本”隐藏信息类别。

13.在“提供程序和日志”选项卡上的“名称”列中,选择 Lesson 4 Log File。为包创建日志提供程序后,可以选择取消选择它以临时关闭日志记录,而不必删除和重新创建日志提供程序。

14.单击“确定”。

任务 3:测试 Lesson 4 教程包

SQL Server 2008 R2

在该任务中,将运行 Lesson 4.dtsx 包。包运行时,“日志事件”窗口将列出写入日志文件的日志条目。执行完包之后,将验证日志提供程序所生成的日志文件的内容。

检查包布局


测试包之前,应当确保 Lesson 4 包中的控制流和数据流包含下列关系图中显示的对象。控制流应与 Lesson 2 和 Lesson 3 中的控制流相同,数据流应与 Lesson 1 至 Lesson 3 中的数据流相同。

控制流

数据流

运行 Lesson 4 教程包

1.   在 SSIS 菜单中,单击“日志事件”。

2.   在“调试”菜单中,单击“启动调试”。

3.   当包运行完毕后,在“调试”菜单中,单击“停止调试”。

检查生成的日志文件

·        使用记事本或其他任何文本编辑器,打开 TutorialLog.log文件。

·        尽管为 PipelineExecutionPlan 和 PipelineExecutionTrees 事件所生成的信息的语义超出了本教程的讨论范围,但是,可以看到第一行列出了在“配置 SSIS 日志”对话框的“详细信息”选项卡中所指定的信息字段。此外,可以验证已为 Foreach 循环的每个迭代记录了所选择的两个事件:PipelineExecutionPlan和 PipelineExecutionTrees。

有关如何使用日志文件的详细信息,请参阅在包中实现日志记录