自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

微軟 BI 系列隨筆 - SSIS 2012 基礎 - SSIS 基礎知識

數據庫 SQL Server
SSIS - SQL Server Integration Services 是用于實現企業(yè)級數據集成和數據轉換解決方案的平臺。 使用 Integration Services 可解決復雜的業(yè)務問題,具體表現為:復制或下載文件,發(fā)送電子郵件以響應事件,更新數據倉庫,清除和挖掘數據以及管理 SQL Server 對象和數據。 這些包可以獨立使用,也可以與其他包一起使用以滿足復雜的業(yè)務需求。Integration Services 可以提取和轉換來自多種源(如 XML 數據文件、平面文件和關系數據源)的數據,然后將這些數據加載到一個或多個目標。

   SSIS 介紹

  SSIS - SQL Server Integration Services 是用于實現企業(yè)級數據集成和數據轉換解決方案的平臺。 使用 Integration Services 可解決復雜的業(yè)務問題,具體表現為:復制或下載文件,發(fā)送電子郵件以響應事件,更新數據倉庫,清除和挖掘數據以及管理 SQL Server 對象和數據。 這些包可以獨立使用,也可以與其他包一起使用以滿足復雜的業(yè)務需求。Integration Services 可以提取和轉換來自多種源(如 XML 數據文件、平面文件和關系數據源)的數據,然后將這些數據加載到一個或多個目標。

  Integration Services 包含一組豐富的內置任務和轉換、用于構造包的工具以及用于運行和管理包的 Integration Services 服務。 可以使用 Integration Services 圖形工具來創(chuàng)建解決方案,而無需編寫一行代碼;也可以對各種 Integration Services 對象模型進行編程,通過編程方式創(chuàng)建包并編寫自定義任務以及其他包對象的代碼。

  SSIS 的基本概念

  包 - Package

  包是一個有組織的集合,其中可包括連接(Connection Managers)、控制流元素(Control Flow)、數據流元素(Data Flow)、事件處理程序(Event Handlers)、變量(Variables)、參數和配置(Parameters and Configurations). 包是可被檢索、執(zhí)行和保存的工作單元。包可以部署到 SSIS 服務器或者文件系統(tǒng)執(zhí)行。

  以下關系圖顯示了一個簡單包,其中包含一個帶有數據流任務的控制流,而數據流任務中又包含數據流。

  

[[147227]]

 

  連接管理器 - Connection Managers

  SSIS提供項目級別的連接管理器和包級別的連接管理器。

  項目級別的連接管理器可以在各個包之間共享。對于使用相同配置的連接來說,只需要在項目級別配置一次,就可以在多個包之間使用了。

  包級別的連接管理器只能在包級別使用。同一個包內部的不同的任務和數據流任務之間可以共享同一個連接。在包級別的連接管理器可以看到項目級別的連接管理器。

  控制流 - Control Flow

  控制流是一個包含各種任務(Task)的容器。這些任務之間可以通過各種優(yōu)先級約束(成功,失敗,完成)鏈接以實現順序序執(zhí)行。任務之間也可以不使用任何優(yōu)先級約束,這樣的任務對其他的任務沒有依賴或者不被別的任務依賴,他們可以平行執(zhí)行。常見的任務有Execute SQL Task和Data Flow Task。

  控制流中可以使用容器(Containers)來包含和組織任務。常見的容器有For Loop容器,Foreach容器 和 Sequence容器。

  下圖包含了一個順序執(zhí)行的任務和一個與之平行任務。

  

 

  數據流 - Data Flow

  數據流是以數據為導向的數據流任務(Data Flow Task)的具體實現。數據流通常包含數據源(Source)、轉換(Transform)和目的地(Destination)。在一個數據流中數據從數據源采集,經過轉換(矯正、分離、合并)并最終到達目的地。雖然所有的數據都是按照這個過程(依賴于設計)處理,但是整個過程中每條數據之間是并行執(zhí)行的關系。比如***條數據已經在轉換了,第二條數據才剛剛被采集到。

  下圖說明了一個從不同的數據源采集數據并處理到不同的目的地的數據流。

  

 

  參數 - Parameters

  SSIS中參數分為項目(Project)參數和包(Package)參數。

  項目參數可用于向項目中的一個或多個包提供項目接收的任何外部輸入。通常定義一些基本的數據,比如數據庫連接字符串,服務器連接字符串。

  包參數可以用于給一個包提供接收的外部輸入。通常定義一些包級別特定的數據,比如包處理的篩選條件,數據源所在的文件夾等。

  使用參數可以實現快速的執(zhí)行和部署包或者整個項目。但是如果是要部署單個的包,則盡量避免使用參數而應該使用配置。

  下圖列出了一些項目級別的參數。

  

 

  事件處理程序 - Event Handlers

  在運行時,可執(zhí)行文件(包以及 Foreach 循環(huán)容器、For 循環(huán)容器、序列容器和任務宿主容器)會引發(fā)事件。 例如,錯誤發(fā)生時會引發(fā) OnError 事件。 可以為這些事件創(chuàng)建自定義事件處理程序,以擴展包的功能并使包在運行時更容易管理。 事件處理程序可以執(zhí)行諸如下列任務:

  當包或任務運行完成時清除臨時數據存儲。

  在包運行前檢索系統(tǒng)信息,以便評估資源可用性。

  在引用表中的查找失敗時刷新表中的數據。

  當發(fā)生錯誤或警告時,或者當任務失敗時,發(fā)送電子郵件。

  如果事件沒有事件處理程序,則將該事件提升到包中容器層次結構中的上一級容器。 如果此容器具有事件處理程序,則該事件處理程序當事件發(fā)生時運行。 如果沒有,則將該事件提升到容器層次結構中的上一級容器。

  下圖列出了所有可用的事件處理程序。

  

 

  變量 - Variables

  變量是在包內部使用的作為控制或者傳遞的信息。每個變量都有自己的作用域(Scope),父容器級別的變量可以被子容器使用,子容器級別的變量對父容器不可見。

  SSIS中的變量分為系統(tǒng)變量和用戶變量。系統(tǒng)變量是系統(tǒng)內置的,對用戶來說是只讀的。用戶定義變量由包開發(fā)人員定義,可以使用參數、配置信息、表達式和常量來賦值。通過設置用戶變量的只讀屬性(ReadOnly)讓變量不可修改。

  日志 - Loggin

  SSIS中通過配置包的日志,可以詳細記錄包以及內部任務的運行時信息??梢詾榘鼉鹊娜魏慰蓤?zhí)行文件()任務記錄日志,日志的內容包括各種事件及時間的屬性??梢詾橐粋€包定義多個日志類型。例如可以為同一個包指定Text Files和SQL Server級別的日志記錄,一旦SQL Server出現問題,Text Files記錄的日志可以很好的幫助我們診斷出錯信息。使用SQL Server類型的日志記錄會在數據庫的系統(tǒng)表中創(chuàng)建一張sysssislog的表。該表記錄了包執(zhí)行的ID,任務的執(zhí)行ID,起止時間及狀態(tài)信息。

  包配置 - Package Configurations

  包配置在SSIS 2012之前的版本中非常重要,在SSIS 2012的版本中使用包級別部署的時候也非常有用(包配置可用于包部署模型。 對于項目部署模型,參數用于代替配置。)

  包配置具有下列優(yōu)點:

  使用配置可以更輕松地將包從開發(fā)環(huán)境轉移到生產環(huán)境中。 例如,配置可以更新源文件的路徑,或者更改數據庫或服務器的名稱。

  將包部署到多臺不同的服務器時,配置非常有用。 例如,用于每個已部署包的配置中的變量可以包含不同的磁盤空間,并且如果可用磁盤空間不滿足此值,包將不會運行。

  配置可以使包更加靈活。 例如,配置可以更新在屬性表達式中使用的變量的值。

  Integration Services 支持幾種不同的存儲包配置(例如 XML 文件、SQL Server 數據庫中的表以及環(huán)境變量和包變量)的方法。

  每個配置都是一個屬性/值對。 XML 配置文件和 SQL Server 配置類型可以包括多個配置。

  在創(chuàng)建用于安裝包的包部署實用工具時將會包括這些配置。 在安裝包時,可以在安裝包的過程中更新配置。

  Integration Services 提供了直接配置和間接配置。 如果直接指定配置,Integration Services 會在配置項和包對象屬性之間創(chuàng)建直接鏈接。 如果源的位置不更改,則直接配置是較好的選擇。 間接配置使用環(huán)境變量。 配置不直接指定配置設置,而是指向環(huán)境變量,環(huán)境變量又包含配置值。 如果對于包的每個部署,配置的位置都可以更改,則使用間接配置是較好的選擇。例如,在數據庫中直接指定包級別的配置,而在環(huán)境變量中(或者XML、參數)中簡介指定包級別配置所在的數據庫。SSIS在執(zhí)行時,首先加載環(huán)境變量(直接配置),通過直接配置找到包級別的配置信息(間接配置)并加載運行。

  包瀏覽器 - Package Explorer

  包瀏覽器包含了整個包里面的所有內容,并且以折疊數的方式展現,通過包瀏覽器可以快速的找到并定位包級別的任何元素(可執(zhí)行文件、條件表達式、參數、事件處理程序、變量、連接管理器以及日志)。

  總結

  本文介紹了微軟SSIS的基本概念,希望能夠幫助初學SSIS的開發(fā)者更好的理解SSIS。

責任編輯:honglu 來源: 博客園
相關推薦

2015-08-27 14:56:36

SSIS部署項目部署包部署

2015-08-27 14:59:58

SSISParameterEnvironment

2023-08-11 15:46:40

BashIf Else 語句

2023-07-17 14:29:01

Bash算術運算

2021-11-05 15:31:01

UbuntuLinux

2011-09-16 10:13:02

Emacs

2011-03-29 14:11:20

Cacti基礎知識

2009-04-10 09:35:00

WCDMA基礎無線網絡

2023-07-04 07:31:06

MapReduce數據處理編程模型

2010-07-16 11:22:31

Perl

2014-08-20 10:15:45

2021-08-18 16:09:39

NestJS

2009-09-23 11:07:11

Hibernate基礎

2010-07-16 10:53:30

Perl基礎

2015-06-01 13:35:43

數據中心DCIM

2009-04-17 14:22:40

XPathXML基礎

2023-08-21 12:31:41

BashForWhile

2009-12-22 14:27:28

Cisco3600

2023-08-22 21:42:03

Bash函數

2012-02-22 10:33:36

Wi-Fi
點贊
收藏

51CTO技術棧公眾號