偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

微軟 BI 系列隨筆 - SSIS 2012 基礎(chǔ) - SSIS 基礎(chǔ)知識(shí)

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

   SSIS 介紹

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

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

  SSIS 的基本概念

  包 - Package

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

  以下關(guān)系圖顯示了一個(gè)簡(jiǎn)單包,其中包含一個(gè)帶有數(shù)據(jù)流任務(wù)的控制流,而數(shù)據(jù)流任務(wù)中又包含數(shù)據(jù)流。

  

[[147227]]

 

  連接管理器 - Connection Managers

  SSIS提供項(xiàng)目級(jí)別的連接管理器和包級(jí)別的連接管理器。

  項(xiàng)目級(jí)別的連接管理器可以在各個(gè)包之間共享。對(duì)于使用相同配置的連接來說,只需要在項(xiàng)目級(jí)別配置一次,就可以在多個(gè)包之間使用了。

  包級(jí)別的連接管理器只能在包級(jí)別使用。同一個(gè)包內(nèi)部的不同的任務(wù)和數(shù)據(jù)流任務(wù)之間可以共享同一個(gè)連接。在包級(jí)別的連接管理器可以看到項(xiàng)目級(jí)別的連接管理器。

  控制流 - Control Flow

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

  控制流中可以使用容器(Containers)來包含和組織任務(wù)。常見的容器有For Loop容器,F(xiàn)oreach容器 和 Sequence容器。

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

  

 

  數(shù)據(jù)流 - Data Flow

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

  下圖說明了一個(gè)從不同的數(shù)據(jù)源采集數(shù)據(jù)并處理到不同的目的地的數(shù)據(jù)流。

  

 

  參數(shù) - Parameters

  SSIS中參數(shù)分為項(xiàng)目(Project)參數(shù)和包(Package)參數(shù)。

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

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

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

  下圖列出了一些項(xiàng)目級(jí)別的參數(shù)。

  

 

  事件處理程序 - Event Handlers

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

  當(dāng)包或任務(wù)運(yùn)行完成時(shí)清除臨時(shí)數(shù)據(jù)存儲(chǔ)。

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

  在引用表中的查找失敗時(shí)刷新表中的數(shù)據(jù)。

  當(dāng)發(fā)生錯(cuò)誤或警告時(shí),或者當(dāng)任務(wù)失敗時(shí),發(fā)送電子郵件。

  如果事件沒有事件處理程序,則將該事件提升到包中容器層次結(jié)構(gòu)中的上一級(jí)容器。 如果此容器具有事件處理程序,則該事件處理程序當(dāng)事件發(fā)生時(shí)運(yùn)行。 如果沒有,則將該事件提升到容器層次結(jié)構(gòu)中的上一級(jí)容器。

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

  

 

  變量 - Variables

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

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

  日志 - Loggin

  SSIS中通過配置包的日志,可以詳細(xì)記錄包以及內(nèi)部任務(wù)的運(yùn)行時(shí)信息。可以為包內(nèi)的任何可執(zhí)行文件()任務(wù)記錄日志,日志的內(nèi)容包括各種事件及時(shí)間的屬性。可以為一個(gè)包定義多個(gè)日志類型。例如可以為同一個(gè)包指定Text Files和SQL Server級(jí)別的日志記錄,一旦SQL Server出現(xiàn)問題,Text Files記錄的日志可以很好的幫助我們?cè)\斷出錯(cuò)信息。使用SQL Server類型的日志記錄會(huì)在數(shù)據(jù)庫的系統(tǒng)表中創(chuàng)建一張sysssislog的表。該表記錄了包執(zhí)行的ID,任務(wù)的執(zhí)行ID,起止時(shí)間及狀態(tài)信息。

  包配置 - Package Configurations

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

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

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

  將包部署到多臺(tái)不同的服務(wù)器時(shí),配置非常有用。 例如,用于每個(gè)已部署包的配置中的變量可以包含不同的磁盤空間,并且如果可用磁盤空間不滿足此值,包將不會(huì)運(yùn)行。

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

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

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

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

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

  包瀏覽器 - Package Explorer

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

  總結(jié)

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

責(zé)任編輯:honglu 來源: 博客園
相關(guān)推薦

2015-08-27 14:56:36

SSIS部署項(xiàng)目部署包部署

2015-08-27 14:59:58

SSISParameterEnvironment

2023-07-17 14:29:01

Bash算術(shù)運(yùn)算

2023-08-11 15:46:40

BashIf Else 語句

2021-11-05 15:31:01

UbuntuLinux

2009-04-17 14:22:40

XPathXML基礎(chǔ)

2009-09-23 11:07:11

Hibernate基礎(chǔ)

2015-06-01 13:35:43

數(shù)據(jù)中心DCIM

2010-07-16 10:53:30

Perl基礎(chǔ)

2009-04-10 09:35:00

WCDMA基礎(chǔ)無線網(wǎng)絡(luò)

2010-07-16 11:22:31

Perl

2011-09-16 10:13:02

Emacs

2011-03-29 14:11:20

Cacti基礎(chǔ)知識(shí)

2023-07-04 07:31:06

MapReduce數(shù)據(jù)處理編程模型

2014-08-20 10:15:45

2021-08-18 16:09:39

NestJS

2023-08-22 21:42:03

Bash函數(shù)

2009-12-22 14:27:28

Cisco3600

2023-08-21 12:31:41

BashForWhile

2012-02-22 10:33:36

Wi-Fi
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)