SSIS高级内容 系列一

1. 简介

    Microsoft SQL Server 2005 Integration Services (SSIS) 是生成高性能数据集成解决方案(包括数据仓库的提取、转换和加载 (ETL) 包)的平台。

1 是数据导入"导出向导

2 ETL工具

3 控制流引擎

4 应用程序平台

5 高性能的数据转换数据管线

ETL抽取工具中,SSIS以其成本较低,容易上手,又加之功能强大,而应用广泛。

本文是以前做项目时,针对SSIS学习研究时整理的文章,内容涉及到SSIS高级的一些特性,现在整理出来希望对学习ETL初学者有所帮助。

2. 常用技巧

2.1 配置文件

配置文件为“MsDtsSrvr.ini.xml”,位于“%Program Files%"Microsoft SQL Server"90"DTS"Binn”下。这个文件的位置和名称存储在注册表项“HKEY_LOCAL_MACHINE"SOFTWARE"Microsoft"MSDTS"ServiceConfigFile”的值中。例如值为:

D:"Program Files"Microsoft SQL Server"90"DTS"Binn"MsDtsSrvr.ini.xml

注:修改配置文件后,一定要重新启动Integration Services服务器。

2.2 修改文件系统文件夹位置

<?xml version="1.0" encoding="utf-8"?>

<DtsServiceConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

 <StopExecutingPackagesOnShutdown>true</StopExecutingPackagesOnShutdown>

 <TopLevelFolders>

    <Folder xsi:type="SqlServerFolder">

      <Name>MSDB</Name>

      <ServerName>.</ServerName>

    </Folder>

    <Folder xsi:type="FileSystemFolder">

      <Name>File System</Name>

      <StorePath>.."Packages</StorePath>

    </Folder>

    <Folder xsi:type="FileSystemFolder">

      <Name>ODSM File System</Name>

      <StorePath>D:"ODSM ETL Deployment</StorePath>

    </Folder>

 </TopLevelFolders> 

</DtsServiceConfiguration>

红色字体部分,为新增加的内容。如下图所示:

截图00.jpg

2.3 修改服务器引用的实例

如果一台计算机上装有多个实例,集成服务并不支持多个实例。因此,可以修改配置文件“MsDtsSrvr.ini.xml”,指定哪个实例。

修改内容如下:

<Folder xsi:type="SqlServerFolder">

 <Name>MSDB</Name>

 <ServerName>."SQL2K5</ServerName>

</Folder>

2.4 共享的MSDB存储区

把全部的包存储在一个中央服务器上。更改其它所有的SSIS服务器中的服务器配置文件,使他们指向相同的SQL Server计算机。

优点如下:

1 可以便于保障包的安全,对包进行备份和维护;

2 当使用的中央Sql Server发生变化时,人们使用的自动设置不需要更改;

3 隔离权限。可以让最终用户能够运行包,而不需要知道这些包的具体存储位置,包存储位置由管理员负责控制。

2.5 服务器故障诊断

修改配置文件“msdtssrvr.exe.config”与文件“msdtssrvr.ini.xml “在同一个文件夹中。红色字体为修改和增加的内容。

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

 <runtime>

    <gcServer enabled="true"/>

 </runtime>

 <system.diagnostics>

    <switches>

      <add name="TraceClientConnections" value="4" />

      <add name="TraceManagementCalls" value="4" />

      <add name="ServerTraceSwitch" value="4" />

    </switches>

    <trace autoflush="true">

   <listeners>

     <add name="FileLog" type="System.Diagnostics.TextWriterTraceListener"

      initializeData="D:"ODSM ETL Logs"SSIS Server Log"Listener.log"/>

   </listeners>

   </trace>

 </system.diagnostics>

</configuration>

注:跟踪记录类别不同的值。

0:不做日志记录;

1:只将错误消息记录到日志;

2:只将错误消息和警告信息记录到日志;

3:将更详细的错误信息记录到日志;

4:在日志中记录详细的跟踪信息。

Listener.log内容如下:

InitializeComSecurity: Enter

CoInitializeSecurity: 0x0.

InitializeComSecurity: Leave

Reading configuration file D:"Program Files"Microsoft SQL Server"90"DTS"Binn"MsDtsSrvr.ini.xml

Config processed: 3 root folders

RegisterComObject: Enter

DllGetClassObject: 0x0, System.__ComObject

CoRegisterClassObject: 0

DllGetClassObject: 0x0, System.__ComObject

CoRegisterClassObject: 0

RegisterComObject: Leave

Dropped DtsApplication object

Created DtsApplication object

Opening client's process to get Exited event.

Registering package Package1 (b4a1b509-9ad3-4fb5-8e21-58385fc3f92c) for QIANGGUO"guoqiang, assigned ID 7f1f0524-bf78-4e02-b276-eb37474c74d4

Package Package1 (b4a1b509-9ad3-4fb5-8e21-58385fc3f92c) registered by QIANGGUO"guoqiang, assigned ID 7f1f0524-bf78-4e02-b276-eb37474c74d4

Unregister package request: 7f1f0524-bf78-4e02-b276-eb37474c74d4

Package unregistered: 7f1f0524-bf78-4e02-b276-eb37474c74d4

posted @ 2011-03-02 19:52  bany  阅读(1757)  评论(0编辑  收藏  举报