• 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

    【出自博客园深潭的网上家园,转载请注明作者出处】

  • 相关阅读:
    如何构建积木式Web应用
    ASP.NET 2.0 异步页面原理浅析 [1] [原]
    HybridDictionary 类
    datagrid自定义
    认识.NET的集合
    织梦 10060
    java.io.FileNotFoundException: E:\temp (拒绝访问。)
    引用与对象实例化
    C#中为DataGrid添加下拉列表框
    C#中使用指针
  • 原文地址:https://www.cnblogs.com/dbasys/p/1373343.html
Copyright © 2020-2023  润新知