Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 45 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
45
Dung lượng
2,3 MB
Nội dung
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 [...]... chuyển từ CSDL SQL Server sang Excel Mở folder chứa file Excel đã chuyển, ta có được kết quả như sau: Thực hiện 1 số bài toán cụ th : Bài toán 1: Thực hiện chuyển đổi CSDL từ 1 file Excel sang taoh thành 1 bảng trong CSDC SQL Server 2005 Hướng dẫn: Trong Control Flow gắp thả vào giao diện 1 Data Flow Task : Sang tag Data Flow , Data Suorce là Excel Source, Data nguồn là OLE DB Destination : Cấu hình cho... 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: Thực... Destination : Cấu hình cho luồng dữ liệu Data Flow Task như sau: Click chuột phải vào Excel Source chọn Edit Để chọn dữ liệu nguồn, click vào New Chỉ ra file Excel cần chuyển đổi Tương tự, cấu hinh cho OLE DB Destination như sau: Thực hiện chương trình ta có kết quả là bảng OLE DB Destination trong SCDL SSIS trong SQL Server Bài toán 2: Kịch bản chuyển đổi Việc chuyển đổi diễn ra giữa hai phần nhỏ... 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... 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... Đí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... 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... 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 DataReader Excel Short Description Đọc dữ liệu từ khung NET Đọc dữ liệu từ Excel Flat file Đọc dữ... 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ì 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 . 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 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ì. 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