Tải bản đầy đủ (.docx) (45 trang)

Đồ án Báo cáo SQL : SSIS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.98 MB, 45 trang )

SQL 2005 Integration Services
HỌC VIỆN KỸ THUẬT QUÂN SỰ
BỘ MÔN CÔNG NGHỆ PHẦN MỀM – KHOA CNTT
BÁO CÁO ĐỒ ÁN
Đề tài:
Tìm hiểu dịch vụ tích hợp dữ liệu trong SQL Server 2005
(SQL 2005 Integration Services)
GIÁO VIÊN HƯỚNG DẪN: NGUYỄN MẠNH HÙNG
HỌC VIÊN THỰC HIỆN:
TRƯƠNG TRƯỜNG VI LÂM
NGUYỄN ĐỨC ANH
TRẦN NGỌC PHƯƠNG
Lớp: Tin học k44
HÀ NỘI - 06/2012
Mục lục:
SQL 2005 Integration Services
Di chuyển dữ liệu giữa các nơi lưu trữ có thể là một công việc khó, đặc biệt
là khi nhiều cấu trúc dữ liệu có liên quan đến dữ liệu cần phải được thay đổi trước
khi nó được di chuyển đến nơi lưu trữ mới. Mục tiêu của SQL 2005 Integration
Services, còn được gọi là dịch vụ tích hợp hoặc SSIS, không chỉ để đơn giản hóa
nhiệm vụ truyền dữ liệu mà còn cung cấp chức năng phong phú hỗ trợ chiết xuất
phức tạp hơn, biến đổi và load yêu cầu cho việc nhập dữ liệu . Mục tiêu của
chương này là giới thiệu với bạn các khái niệm cần thiết của dịch vụ tích hợp.
Chúng ta sẽ khám phá làm thế nào để xây dựng các gói cơ bản sử dụng môi trường
thiết kế mới và làm thế nào để sử dụng một số các tính năng của sản phẩm này để
theo dõi, khắc phục sự cố, và thực hiện gói.
I. Dịch vụ tích hợp là gì?
Dịch vụ tích hợp là sự tích hợp dữ liệu thành phần của SQL Server 2005.
Hoạt động tích hợp dữ liệu có thể đơn giản như di chuyển dữ liệu giữa các nguồn
dữ liệu phức tạp như củng cố khối lượng lớn dữ liệu từ nhiều nguồn dữ liệu trong
các định dạng khác nhau, áp dụng các quy tắc để sửa đổi hoặc làm sạch các dữ


liệu nội dung, và tải các dữ liệu kết quả vào kho dữ liệu được thiết kế để báo cáo
phân tích và ứng dụng. Thậm chí nếu bạn không chịu trách nhiệm cho việc tạo ra
và duy trì một kho dữ liệu, bạn sẽ tìm thấy các tính năng trong dịch vụ tích hợp
khá hữu ích cho các nhiệm vụ quản lý cơ sở dữ liệu thường xuyên và bất kỳ hoạt
động nào đòi hỏi bạn phải di chuyển dữ liệu dưới bất kỳ hình thức nào.
II. Cấu trúc của dịch vụ tích hợp dữ liệu (SSIS)
 Thành phần của dịch vụ tích hợp (Integration Services Components)
Cấu thành nên SSIS bao gồm các đối tượng bên ngoài như là các gói
(Packages), cái mà chứa đựng các đối tượng khác,và hai quy trình chính là xử lý và
làm việc với dữ liệu. Đầu tiên là điều khiển luồng (control flow), nó gồm tất cả các
nhiệm vụ, thao tác bạn muốn thực thi trước, trong, hoặc sau khi dữ liệu được di
chuyển. Thứ hai là các luồng dữ liệu (data flow), gồm các kết nối, nguồn, biến đổi,
và các điểm đích đến khi làm việc với các dữ liệu.
Trong môi trường làm việc, bạn sẽ thấy hai tab (control flow, data flow)
tuần tự với các đối tượng như tiêu đề. Đầu tiên bạn sẽ khởi tạo ra luồng điều khiển,
và nó sẽ chứa ít nhất một đối tượng luồng dữ liệu, trong suốt quá trình làm việc với
các đối tượng đấy thì chúng sẽ xuất hiên như nhau trong cả hai tab. Điều quan
trọng cần nhớ là sự khác biệt của điều khiển luồng có chứa các đối tượng luồng dữ
liệu.
 Gói (Packages)
Đối tượng đầu tiên chúng xem xét là gói. Đây là bộ sưu tập của các Control
flow và đối tượng data flow trong một đơn vị duy nhất. Thuật ngữ này cũng được
sử dụng trong các phiên bản trước của SQL Server trong công cụ chuyển dữ liệu,
được gọi là Data Transformation Services (DTS). Một hệ thống SSIS, còn được
gọi là solution - là sự kết hợp của nhiều một hay nhiều projects. Mỗi projects lại
gồm nhiều gói.
Bạn có thể lưu trữ một gói trong một cơ sở dữ liệu SQL Server, SSIS
Package Store – kho dự trữ gói, hoặc là một file.
Để phân biệt những điều này, hãy ghi nhớ rằng các solution và các project là
các phần của thiết kế; một gói SSIS chạy trên một sever và nó được tạo thành từ

một gói DTS. Vậy gói là phần ngoài cùng bao hàm đối tượng.
 Điều khiển luồng (control flow)
Control flow liên quan đến những nhiệm vụ thực hiện trước khi dữ liệu được
nhập (imported) hoặc xuất ( exported) và những nhiệm vụ thực hiện sau khi
chuyển đổi xảy ra. Mặc dù bạn có thể làm việc với dữ liệu trong quá trình này, nó
thường được thực hiện trong một lĩnh vực khác.
Các công việc có sẵn trong lĩnh vực này bao gồm tải về một tập tin từ một hệ
thống ngoài bằng cách sử dụng File Transfer Protocol (FTP), gửi một thông báo
rằng một quá trình chuyển giao được bắt đầu, hoặc thực hiện một cuộc gọi cơ sở
dữ liệu để kích hoạt một quá trình trên máy chủ khác. Bạn cũng có thể tạo ra các
nhiệm vụ liên kết thành một hệ thống Analysis Services để chuẩn bị chuyển giao ở
đó. Vấn đề này sẽ được làm rõ thông qua các kịch bản được trình bày phía sau.
Có ba loại đối tượng trong Control flow:
a.Đầu tiên là các thùng chứa (containers), nó nắm giữ các khối lượng
đơn vị của công việc. Bao gồm đối phó với các vòng lặp và các chuỗi sự
kiện. Nếu bạn muốn để lặp thông qua một loạt các nhiệm vụ, bạn có thể tạo
ra hoặc là một vòng lặp Foreach, hoạt động thông qua một số quy định của
các bước, hoặc một vòng lặp for, trong đó hoạt động thông qua một loạt các
bước cho đến khi một số điều kiện là đúng hay sai. Cả hai trong số này là
các loại của container.
Container khác là chuỗi các sự kiện(quy trình). Container này cung
cấp để các quá trình được chứa và có thể làm việc như một gói toàn bộ trong
một gói.
b. Loại thứ hai là nhiệm vụ (task). Task là các đơn vị công việc cho
các Control flow. Control flow chứa các gói công việc của bạn xung quanh
các tác động lên dữ liệu.
Tasks bao gồm các phần như kịch bản, Analysis Services, XML
manipulations, downloads, và nhiều hơn nữa. Tasks là các khối xây dựng từ
các gói của người dùng. Bằng cách gom nhóm các công việc với nhau, bạn
có thể tạo ra các hoạt động phức tạp là dễ dàng để thực hiện, vì chúng được

diễn tả bằng đồ họa.
Một trong những nhiệm vụ quan trọng nhất và cũng là thành phần thứ
hai trong SSIS : data flow task. Nó là nhiệm vụ chuyển dữ liệu từ nơi này
sang nơi khác.
Bạn có thể tạo một hoặc nhiều nhiệm vụ trong một Control flow duy
nhất. Điều đó có nghĩa là bạn có thể tải dữ liệu từ một vị trí, nhận được một
tập tin tải về XML, và đọc nó ở trong, rồi chuyển tất cả dữ liệu đó vào một
hình thức cuối cùng.
Dưới đây là các control flow tasks đã có sẵn và tóm tắt một cách
nhanh chóng những gì chúng làm.
Task Name Task Type
Mô tả
File System task
Data Preparation Đọc, sao lưu, xóa, di chuyển thư
mục và tập tin.
FTP task
Data Preparation Tải lên (upload) và tải về
(download) một tập tin từ máy chủ
FTP, đồng thờ tạo và xóa thư mục
Web Service
task
Data Preparation Thao tác với dịc vụ web như kết
nối tới máy chủ HTML, truy vấn
cơ sở dũ liệu
XML task Data Preparation
Đọc, so sánh, hợp nhất và xác thực
các tài liệu XML, có thể định dạng
tài liệu XML và chạy một truy vấn
XPath để chống lại
Execute

Package task
Workflow Chạy một gói như là một phần của
công việc
Execute DTS
2000 Package
task
Workflow Chạy gói SQL Server 2000 DTS
như là một phần của công việc.
Execute Process
task
Workflow Chạy một ứng dụng hoặc tập tin
chứa một nhóm lệnh thi hành
Message Queue
task
Workflow Gửi và nhận tin giữa SSIS và
Microsoft Messaging Queue
(MSMQ).
Send Mail task
Workflow Gửi e-mail, có hoặc không có file
đính kèm.
WMI Data
Reader task
Workflow Chạy Windows Management
Instrumentation (WMI) Query
Language statements (WQL) cho
phép bạn truy vấn các hệ điều
hành trên tất cả mọi thứ từ đăng
nhập để xử lý.
WMI Event
Watcher task

Workflow
Chạy báo cáo WQL để xác định
tình trạng của một đối tượng trong
hệ điều hành.
Bulk Insert task
SQL Server coppy dữ liệu vào một bảng SQL
Server hoặc viewrequires. Cơ sở
dữ liệu SQL Server cho phép các
loại chèn kể từ khi họ bỏ qua các
bản ghi giao dịch.
Execute SQL
task
SQL Server Chạy một tập hợp các câu lệnh
SQL bằng cách sử dụng OLEDB,
ODBC, ADO, ADO.NET,
SQLMOBILE, hoặc kết nối ngay
cả Excel trên bất kỳ cơ sở dữ liệu
hỗ trợ những phương thức kết nối.
Transfer
Database task
SQL Server Coppy hoặc di chuyển toàn bộ một
cơ sở dữ liệu SQL Server từ một
máy chủ khác.
Transfer Error
Messages task
SQL Server Chuyển các thông báo lỗi tùy
chỉnh từ một SQL Server khác.
Transfer Jobs
task
SQL Server Chuyển các công việc của SQL

Agent từ một SQL Server khác.
Transfer Logins
task
SQL Server Chuyển SQL Logins (hơn một) từ
một SQL Server khác.
Transfer Master
Stored
Procedures task
SQL Server Chuyển người dùng tạo ra các thủ
tục lưu trữ từ cơ sở dữ liệu tổng
thể của một SQL Server khác.
Transfer SQL
Server Objects
task
SQL Server
Bản sao các đối tượng như bảng,
views, hoặc lược đồ quan hệ từ
một SQL Server khác.
ActiveX Script
task
Scripting Chạy ActiveX scriptsthe Script
task được ưu tiên vì chúng có thể
được biên dịch sẵn.
Script task Scripting
Chạy kịch bản được tạo ra trong
Visual Studio for Applications
(VSA) môi trường cung cấp đầy
đủ và phần mở rộng chương trình
gói.
Analysis

Services
Processing task
Analysis Services Chạy Analysis Services xử lý các
nhiệm vụ chống lại các hình khối,
kích thước, và các mô hình khai
thác.
Analysis
Services
Execute DDL
task
Analysis Services Cho phép tạo, thay đổi, hoặc thả
hình khối, các mô hình khai thác,
và các đối tượng đa chiều khác.
Data Mining
Query task
Analysis Services
Chạy Data Mining Extensions
(DMX) truy vấn dự đoán dựa trên
các mô hình khai thác dữ liệu.
Back Up
Database task
Maintenance Backs up a SQL Server database
Check Database
Integrity task
Maintenance Kiểm tra tính toàn vẹn của một
hoặc nhiều cơ sở dữ liệu SQL
Server.
Execute SQL
Server Agent
Job task

Maintenance Chạy một công việc của SQL
Server Agent.
Execute T-SQL
Statement task
Maintenance Chạy một câu lệnh T-SQL (SQL
Server only).
History Cleanup
task
Maintenance Xóa các mục trong bảng lịch sử
msdb cho những thứ chẳng hạn
như backup and restore lại hoạt
động.
Notify Operator
task
Maintenance Gửi thông báo đến một SQL
Server Agent điều khiển
Rebuild Index
task
Maintenance Xây dựng lại các chỉ số trên bảng
SQL Server và các view.
Reorganize
Index task
Maintenance
Tổ chức lại các chỉ số trên bảng
SQL Server và view.
Shrink Database
task
Maintenance
Rút ngắn một cơ sở dữ liệu SQL
Server.

Update Statistics
task
Maintenance
Cập nhật các số liệu thống kê trên
một bảng hoặc xem lập chỉ mục.
Custom tasks Maintenance
Cho phép bạn tạo ra các loại task
của riêng bạn bằng cách sử dụng
bất kỳ ngôn ngữ .NET hỗ trợ
COM.
c. Loại thứ ba của đối tượng là các rằng buộc ưu tiên. Chúng kết nối
containers and tasks trong các gói vào control flow một cách có trình tự. Sử
dụng rằng buộc ưu tiên, bạn có thể kiểm soát việc thực hiện trình tự cho các
task và các container và chỉ định điều kiện xác định khi dang chạy task và
container.
 Luồng dữ liệu (data flow)
Bên trong control flow (mặc dù xem một cách riêng biệt trong môi trường
thiết kế) là data flow. Luồng dữ liệu có chứa các kết nối dữ liệu hệ thống và ba đối
tượng cơ bản và tasks: nguồn(sources), biến đổi(transformations), và các điểm
đến (destinations).
Một đối tượng nguồn có thể hiểu là những nơi khác nhau mà bạn có thể lấy
dữ liệu. Bạn có thể đọc từ cơ sở dữ liệu, tập tin, các dịch vụ Web, các tập tin Excel,
tài liệu XML, và nhiều hơn nữa.
Bạn cũng có thể áp dụng các task chuyển đổi, trong đó bao gồm những thứ
như kết hợp, sát nhập, chia tách, various mathematical và chuỗi các thao tác khác
nhau, và nhiều hơn nữa. Bạn có thể đặt những nhiệm vụ trực tiếp sau khi các đối
tượng hệ thống mã nguồn để tạo ra các kiến trúc đường ống, hoặc sau khi dữ liệu
đến đích. có thể thực hiện nhiều task .
Khi bạn đã kết thúc việc import và chuyển đổi dữ liệu, bạn đặt nó vào một
đích đến. Các điểm đến không phải là một cơ sở dữ liệu SQL Server. Bạn có thể

đọc dữ liệu từ một trang web FTP, biến đổi nó thành chữ thường tất cả, và sau đó
ghi lại các dữ liệu ra vào một tập tin XML. Dữ liệu không bao giờ thông qua một
cơ sở dữ liệu SQL Server tất cả
 Quản lý kết nối (the connection manager)
Trước khi bạn có thể đọc dữ liệu từ một nguồn hoặc ghi nó vào một đích
đến, bạn phải có một kết nối để làm việc đó. Kết nối liên quan đến các thư viện nói
trên giao thức hệ thống và xác thực bảo mật (nếu có) rằng những kết nối theo yêu
cầu.
Nếu bạn chưa bao giờ lập trình trước đó, điều này có thể là một khái niệm
mới, bởi vì nó có vẻ không cần thiết cho hệ thống bạn muốn trích xuất dữ liệu và
cũng là bạn muốn kết nối với dữ liệu đó. Trong thực tế, các kết nối hữu ích bởi vì
bạn có thể tái sử dụng chúng. Không chỉ vậy, nhưng kết nối cần phải được trừu
tượng hóa từ việc chuyển giao dữ liệu bởi vì bạn có thể muốn kết nối hai hệ thống
khác nhau bảo mật hoặc các thông tin cấu hình, nhưng cả hai thực thi trên cùng
một dữ liệu.
Dưới đây là một số nguồn dữ liệu:
• ADO
• ADO.NET
• Analysis Services
• Excel
• File
• Flat file
• FTP
• HTTP
• Microsoft .NET dữ liệu cung cấp cho mySAP Business Suite
• MSMQ
• Multiple files
• Multiple flat files
• ODBC
• OLE DB

• SMO
• SMTP
• SQL Server Mobile
• WMI
 Nguồn (sources)
Khi kết nối tạo ra, SSIS có thể đọc từ một số loại nguồn dữ liệu. Dưới đây là
một biểu đồ của các loại bạn đã có sẵn.
Source Short Description
DataReader Đọc dữ liệu từ khung .NET
Excel Đọc dữ liệu từ Excel
Flat file Đọc dữ liệu từ file mã ASCII
OLE DB Đọc dữ liệu từ kết nối OLE DB
Raw file source Đọc bytes từ file
Script component Sử dụng một kịch bản để trích xuất,chuyển đổi hoặc
tải dữ liệu
XML Source Đọc và chia nhỏ dữ liệu từ tập XML
Nếu bạn đang kết nối với một cơ sở dữ liệu SQL Server, bạn thường sẽ sử
dụng nguồn dữ liệu OLE DB.
 Biến đổi (Transforms)
Khi bạn đưa dữ liệu từ một hệ thống vào một cơ sở dữ liệu, bạn thường sẽ
cần phải thay đổi nó. Thông thường, nó là vấn đề kiểu dữ liệu.
Ví dụ, khi bạn đang đọc từ một tập tin, dữ liệu dưới dạng văn bản. Không có
khái niệm kiểu ngày tháng, số,… bởi vì các thiết lập ASCII không hỗ trợ “type”
thuộc tính. Khi bạn đưa dữ liệu vào một cơ sở dữ liệu thì nó sẽ xuất hiện “type” .
Chẳng hạn như nhập chuỗi "2012/06/25" hiểu là “type” ngày. Điều đó được gọi là
một chuyển đổi ngầm, nhưng nó không luôn luôn là một điều tốt. Hệ thống ngầm
có thể chuyển đổi một chuỗi số điện thoại vào một định dạng số, và trừ đi số điện
thoại từ mã vùng.
Vì vậy, trong các ứng dụng phức tạp hơn, bạn cần phải có các giải pháp tốt
hơn. Và SSIS là một giải pháp được đưa ra, SSIS bao gồm các loại hoạt động

chuyển đổi, bao gồm tất cả mọi thứ từ những thay đổi một lĩnh vực để tạo ra các
lĩnh vực mà thậm chí không tồn tại trong hệ thống nguồn.
 Đồng nhất (Homogenized)
Một trong những biến đổi phổ biến nhất là đồng nhất dữ liệu. Nó đơn giản là
làm cho các dữ liệu từ nhiều nguồn khác nhau đều giống nhau bằng cách thay đổi
trường hợp, trật tự, các loại dữ liệu,…
Giả sử rằng bạn có ba hệ thống nguồn tại các nhà máy khác nhau. Người ta
có thể phần cách các số khác nhau bằng dấu gạch ngang, chéo trước, và có thể sử
dụng thời gian để phân cách các con số. Khi bạn xử lý dữ liệu, bạn có thể muốn
loại bỏ tất cả những phân cách và dễ dàng chạy các số với nhau. Đó là một chuyển
đổi đồng nhất.
 Làm sạch (Cleansing)
Làm sạch là một chuyển đổi khó khăn hơn. Nếu bạn nhập dữ liệu nhiều, bạn
chắc chắn sẽ gặp phải các nguồn đã được cho phép "bẩn" dữ liệu vào hệ thống của
họ. Có thể là các đặc điểm xa lạ, chuỗi nơi mà các con số này không cần thiết, hoặc
bất kỳ số nào làm sai lạc dữ liệu. Trong trường hợp này, một đánh giá đúng đắn về
những gì là mục tiêu của bạn là điều cần thiết. Bạn có bỏ qua các hàng với những
dữ liệu xấu? Nếu bạn làm thế, có một khả năng mà bạn sẽ vi phạm tính toàn vẹn
của hệ thống bạn đang thiết kế. Ví dụ, nếu bạn xóa một số phần "xấu" từ hàng nhập
vào, bạn có thể không có khả năng nhập những mục lớn hơn phụ thuộc vào nó.
Ngoài việc bỏ qua các dữ liệu, mà thực sự không phải có một biến đổi nào,
bạn có thể thiết lập một quy tắc hợp lý thay đổi dữ liệu xấu đến một hình thức chấp
nhận được. Điều này là có thể nếu bạn biết các lỗi có thể có, nhưng điều này không
phải lúc nào cũng làm được.
Sự lựa chọn cuối cùng bạn có nếu bạn không thể làm sạch dữ liệu thì ghi nó
vào một "bảng ngoại lệ" hoặc vào một tập tin rác. Mặc dù về mặt kỹ thuật một biến
đổi, bạn ít nhất nên sử dụng một số loại logic phát hiện để bạn không ngừng toàn
bộ quá trình nhập của một hàng của dữ liệu xấu duy nhất.
 Tổng hợp (Aggregating)
Một biến đổi tổng hợp được sử dụng với giá trị số. Trong trường hợp này,

bạn thêm số hoặc số lượng của các yếu tố dữ liệu và lưu trữ các kết quả vào một
lĩnh vực duy nhất. Ví dụ, thay vì ghi chép tất cả các phần từ hệ thống nguồn, bạn
có thể ghi lại rằng đã có mười một phần số 12345s, năm 34215s số, và như vậy.
Các quá trình tổng hợp là phổ biến trong các hệ thống phân tích bởi vì theo
định nghĩa, họ có nhiều quan tâm với số lượng chiến lược hơn so với chi tiết.
 Sát nhập (Merging)
Một loại chuyển đổi sát nhập được sử dụng khi bạn cần phải kết hợp các lĩnh
vực. Bạn có thể thấy hệ thống nguồn của bạn bị đổ vỡ từ một trường đơn lẻ thành
nhiều phần. Điều này là khá phổ biến trong hệ thống quản lý dự án, nơi làm việc
Work Breakdown Structure (WBS) số được sử dụng như là một “database in a
database” có nghĩa là sắp xếp các số ứng với một vị trí thích hợp. Trong trường
hợp đó, bạn có thể muốn kết hợp các lĩnh vực vào một lĩnh vực.
 Chuyển đổi (Conversion)
Trong các hệ thống toàn cầu, bạn có thể cần chuyển đổi dữ liệu từ một ngôn
ngữ hoặc định dạng khác. Điều này có thể đơn giản như thay đổi một trong những
đặc điểm hoặc phức tạp như tìm kiếm một tỷ lệ tiền tệ trên một dịch vụ Web và
thay đổi các yếu tố đầu vào USD hoặc Euro.
 Tham gia (Joining)
Giống như việc chuyển đổi hợp nhất, tham gia chuyển đổi liên quan đến các
lĩnh vực kết hợp. Sự khác biệt là một chuyển đổi Joining thêm hai hoặc nhiều lĩnh
vực với nhau hoặc thậm chí gắn thêm dữ liệu vào một lĩnh vực hiện có và không để
nó thực hiện bất kỳ thay đổi nào.
 Cụ thể hóa (Materialized)
Một trong những biến đổi thú vị nhất là khi bạn tạo ra một lĩnh vực mới từ
các dữ liệu được nhập vào. Điều này được gọi là một chuyển đổi Materialized. Nó
có thể là việc tạo ra tổng số bằng cách thực hiện các hoạt động toán học trên các
cột bị sáp nhập hoặc tham gia hoặc bổ sung thêm một lĩnh vực vị trí nhập dựa trên
nó đến từ đâu. Dữ liệu đó không có trong các tập tin ban đầu, nó là một biến đổi cụ
thể hóa.
 Chuyển đổi SSIS (SSIS Transforms)

Bạn có thể đạt được các loại biến đổi đã được mô tả bằng cách sử dụng một
trong các phép biến đổi mà SQL Server cung cấp hoặc bằng cách kết hợp đầu ra
của đầu vào khác.
Đây là một biểu đồ cung cấp tóm tắt cho bạn nhiều khả năng của biến đổi
SSIS cung cấp.
Transformation Name Short Description
Aggregate transformation Tạo khối tổng hợp
Audit transformation Tạo thông tin về các môi trường có sẵn trong
gói
Character Map
transformation
Applies string functions to character data
Conditional Split
transformation
Routes rows to different outputs
Copy Column transformation Adds copies of input columns to the output
(useful for combinations)
Data Conversion
transformation
Converts data types
Transformation Name Short Description
Data Mining Query Runs data mining prediction queries
transformation
Derived Column
transformation
Creates new columns with the results of
expressions
Export Column
transformation
Inserts data into a file

Fuzzy Grouping
transformation
Standardizes column of data
Fuzzy Lookup
transformation
Uses lookup tables and creates a fuzzy
match
Import Column
transformation
Reads data from a file
Lookup transformation Uses a lookup table by an exact match
Merge Join transformation Uses FULL, LEFT, or INNER joins to
combine data
Transformation Name Short Description
Merge transformation Merges data
Multicast transformation Distributes data to multiple outputs
OLE DB Command
transformation
Runs SQL commands for each row in an
import
Percentage Sampling
transformation
Creates a sample set using a percentage
specifying a sample
Pivot transformation Flips a data set on its axis
Row Count transformation Counts rows as they pass and stores the
count in a variable
Row Sampling
transformation
Creates a sample set by specifying the

number of rows in a sample
Script Component Uses scripts to extract, transform, or load
data
Transformation Name Short Description
Slowly Changing Dimension
transformation
Configures a slowly changing dimension's
updates
Sort transformation Sorts data
Term Extraction
transformation
Extracts terms from text
Term Lookup transformation Uses lookup tables and counts terms
extracted from text
Union All transformation Merges all data
Unpivot transformation Unflips a data set on its axis
 Đích đến (Destinations)
Các đích đến cho dữ liệu tương tự như nguồn, nhưng SSIS có điểm đến ít
hơn so với nguồn. Dưới đây là danh sách các loại đã có sẵn:
 Data mining model training
 DataReader
 Dimension processing
 Excel
 Flat file
 OLE DB
 Partition processing
 Raw file
 Recordset
 Script component
 SQL Server Mobile

 SQL Server
 Rằng buộc ưu tiên (Precedence Constraints)
Để kết nối các khối nhiệm vụ hoặc nhiệm vụ trong các nhiệm vụ khác, bạn
sử dụng các đối tượng kế tiếp trong control flow, rằng buộc ưu tiên. Rằng buộc ưu
tiên là điều kiện của thất bại, thành công, hoàn thành, hoặc bất kỳ hỗn hợp của cả
ba.
Về cơ bản, bạn "buộc" một khối (container) hoặc nhiệm vụ (task) vào khối
hoặc nhiệm vụ khác. Bằng cách này, bạn có thể tạo ra logic của bạn cho công việc,
chẳng hạn như "A nếu nhiệm vụ này thành công, B nếu nó không thành công, hoặc
C khi nó hoàn thành." Bằng cách sử dụng các rằng buộc ưu tiên thích hợp để sắp
xếp, bạn có thể khởi tạo AND và OR điều kiện vào một nhiệm vụ. Điều này tạo ra
dòng chảy cho các gói.
Bạn có một vài sự lựa chọn cho các rằng buộc ưu tiên. Hầu hết thời gian,
bạn sẽ sử dụng kết quả trả về sau khi thực hiện các nhiệm vụ. Ví dụ: "Nếu thực thi
lệnh T-SQL thành công, chuyển sang công việc tiếp theo, nhưng nếu nó không
thành công, gửi e-mail", bạn sẽ tạo ra hai rằng buộc ưu tiên: một cho sự thành công
gắn với nhiệm vụ tiếp theo, và cho sự thất bại gắn liền với một nhiệm vụ gửi thư.
Rằng buộc ưu tiên gắn với một đầu vào hoặc đầu ra của đối tượng khác.
Mặc dù bạn có thể nghĩ rằng một điểm đến không có đầu ra, không phải vậy. Một
vài đối tượng, chẳng hạn như điểm đến, có đầu ra lỗi.
Không phải tất cả các đầu vào có thể được liên kết với tất cả các đầu vào
khác, nhưng đừng lo lắng: giao diện sẽ dừng lại bạn nếu bạn cố gắng để đính kèm
vào sai chỗ.
 Quản lý sự kiện (Event Handlers)
Khái niệm này được vay mượn từ chương trình, điều này làm bạn có thể
không quen thuộc với sự kiện. Từ đó, ý tưởng về một sự kiện không phải là khó
khăn. Khi một cái gì đó xảy ra, đó là một sự kiện. Phần thú vị hơn là một số đối
tượng SSIS có thể " raise" các sự kiện, cái mà bạn có thể xem và trả lời. Bạn có thể
xem các sự kiện từ một gói, một nhiệm vụ, hoặc một container.
Để xem và trả với các sự kiện, bạn tạo ra quản lý sự kiện. Dưới đây là các

loại xử lý sự kiện:
Event Handler Name
Watches For
OnError
Một lỗi khi tực hiện
OnExecStatusChanged
Khi đối tượng thay đổi trạng thái
OnInformation
Thông tin trong thời gian thực thi, nhưng
không phải lỗi
OnPostExecute
Khi một bước thực hiện hoàn thành
OnPostValidate
Khi một bước thực hiện được xác nhận
OnPreExecute
Ngay trước khi thực hiện
OnPreValidate
Sau khi xác nhận bắt đầu trong một bước
thực hiện
OnProgress
Sự phát triển của một bước thực hiện(nếu
có)
OnQueryCancel
Sự hủy bỏ một truy vấn
OnTaskFailed
Khi nhiệm vụ thất bại
OnVariableValueChang
ed
Khi biến thay đổi
OnWarning

Cảnh báo trong quá trình chạy, không phải
lỗi
Xử lý sự kiện cũng là một giải pháp tốt để gỡ lỗi chương trình của bạn. Bạn
có thể theo dõi các thay đổi trạng thái, lỗi, và như vậy khi gói đang chạy, và khi
bạn đã có tất cả mọi thứ đã làm việc, bạn có thể loại bỏ chúng.
 Các thành phần khác (Other Components)
Với tất cả các đối tượng thì bạn có thể làm tốt với SSIS. Để thực sự mở rộng
các gói vào một quá trình doanh nghiệp, bạn cần hai khía cạnh khác: khai thác và
mở rộng. Nó bao gồm các tùy chọn đăng nhập vào phần "Quản lý" một chút sau
này, bởi vì nó cho phép bạn duy trì hệ thống của bạn cũng như phát triển.
 Biến (Variables)
Một khái niệm khác được vay từ chương trình là biến. Một biến là tên mô tả
một đối tượng có giá trị có thể thay đổi trong khi các gói đang chạy. Bạn có thể
viết và đọc nó khi công việc của bạn hoàn tất.
Các biến được lưu trữ ở một vị trí trung tâm, được gọi là một không gian
tên(namespace). SSIS có xây dựng một số biến và lưu giữ chúng trong không gian
tên gọi là System Variables,cái mà bạn cũng có thể đọc. Các biến mà bạn tạo ra
cho chính mình thường được lưu trữ trong một không gian tên gọi là biến người
dùng(User Variables). Trong phần này, tập trung vào các biến người dùng, nhưng
không bỏ qua các thông tin có giá trị mà các biến hệ thống tổ chức.
Khi bạn tạo một biến, nó có hiệu lực trong khu vực có chứa nó. Ví dụ, nếu
bạn tạo một biến trong một nhiệm vụ, đối tượng chứa nhiệm vụ này có thể xem
hoặc thay đổi biến. Điều này được gọi là phạm vi.
Để thiết lập một biến, bạn phải chuột vào đối tượng và chọn tùy chọn đó từ
menu xuất hiện. Bạn cũng có thể làm việc với các biến trong trang thuộc tính biểu
thức vào trong Business Intelligence Development Studio.
 Các công cụ (tools)
Bởi vì tính năng SSIS có rất nhiều khía cạnh, bạn có thể sử dụng nhiều hơn
một công cụ để làm việc với nó. Bạn có thể sử dụng một số công cụ dòng lệnh để
quản lý và triển khai các gói. SSIS cũng bao gồm một mô hình lập trình đầy đủ, do

đó, bạn có thể tạo ra các ứng dụng toàn bộ bằng cách sử dụng mã duy nhất.
III. Hướng dẫn tạo Project với Business Intelligence Development Studio
Để thiết kế 1 gói SSIS, ta thường sử dụng Business Intelligence
Development Studio. Đây là 1 trình ứng dụng mở rộng từ Visual Studio có giao
diện đồ họa, trình sửa lỗi, hỗ trợ ngữ cảnh và kiểm soát luồng.
Business Intelligence Development Studio được khởi động từ thư mục SQL
Server 2005. Khi được khởi động, ứng dụng sẽ hiển thị giao diện như sau:
Để tạo 1 Project, ta click vào liên kết Create, chọn Intergration Services
Project, đặt tên cho Project tại textbox Name là Intergration Services Project1, chịn
đường dẫn để lưu trữ Project, bạn có thể theo dõi theo hình minh họa kèm theo
sau:
Click OK, và ứng dụng sẽ xuất hiện giao diện làm việc để ta thực hiện việc
tích hợp dữ liệu theo yêu cầu của từng bài toán. Ứng dụng hỗ trợ Menu Tools ,
thực hiện cấu hình cho đối tượng trực tiếp trên hộp thoại Properties.Trên các tag
Control flow và Data flow ta thực hiện thiết kế quá trình điều khiển luồng và cấu
hình luồng dữ liệu.
Đến đây, tôi giới thiệu 1 Project đơn giản để mô phỏng cách tạo và thực
hiện 1 Project SSIS như sau: Khởi động Business Intelligence Development Studio
và tạo 1 Project có tên là Contacks To Excel New. Project này thực hiện việc
chuyển đổi 1 bảng từ CSDL SQL Server sang bảng dạng Excel.
Click OK ta được :
Trong tag Control Flow ta kéo và thả vào giao diện 2 đối tượng Excute SQL
Task và Data Flow Task :
Trong tag Data Flow , ta kéo thả vào OLE DB Source và Excel Destination:

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×