Dịch vụ tích hợp máy chủ Microsoft SQL (SSIS) là một nền tảng doanh nghiệp để thiết lập tích hợp dữ liệu và chuyển đổi dữ liệu.
Được tích hợp trong hệ thống quản lý cơ sở dữ liệu quan hệ SQL Server (RDBMS) của Microsoft, SSIS có thể được sử dụng để quản lý dữ liệu và đối tượng SQL Server. Nó cũng hữu ích để thực thi và quản lý nhiều tác vụ liên quan đến dữ liệu, chẳng hạn như làm sạch và khai thác dữ liệu, chạy các quy trình trích xuất, tải, chuyển đổi (ELT) từ nhiều nguồn khác nhau, sao chép hoặc tải xuống tệp và tải kho dữ liệu.
SSIS có thể trích xuất, chuyển đổi và hợp nhất dữ liệu từ nhiều cơ sở dữ liệu quan hệ cũng như các nguồn như tệp dữ liệu XML và tệp phẳng, sau đó tải thông tin đã xử lý vào kho dữ liệu doanh nghiệp hoặc các hệ thống đích khác. Nó bao gồm một bộ công cụ để phát triển và thử nghiệm các chương trình tích hợp, được gọi là Công cụ dữ liệu SQL Server, cùng với một thành phần máy chủ để triển khai và chạy các chương trình. Ngoài ra, phần mềm SQL Server Management Studio của Microsoft được tích hợp vào SSIS để quản lý và giám sát các quy trình tích hợp.
Lợi ích và hạn chế của tệp phẳng so với cơ sở dữ liệu quan hệ. Cấu trúc SSIS
Các thành phần chính của kiến trúc SSIS là hai công cụ. Các công cụ này giúp tạo ra sự tách biệt giữa việc di chuyển và chuyển đổi dữ liệu với luồng và quản lý kiểm soát gói trong dịch vụ SSIS.
Công cụ luồng dữ liệu là một thành phần chuyên biệt, có hiệu suất cao của kiến trúc SSIS, đảm nhiệm các nhiệm vụ liên quan đến luồng dữ liệu. Điều này có nghĩa là nó chịu trách nhiệm trích xuất, chuyển đổi và tải dữ liệu từ các nguồn khác nhau.
Mọi tác vụ luồng dữ liệu trong SSIS đều chứa các thành phần luồng dữ liệu. Đây là các nguồn, chuyển đổi và/hoặc đích xác định cách dữ liệu sẽ di chuyển và biến đổi trong công cụ luồng dữ liệu. Các thành phần này - là các đối tượng bổ sung - có thể được tạo và định cấu hình tự động bằng cách lập trình công cụ luồng dữ liệu. Nhà phát triển cũng có thể tạo các đối tượng tùy chỉnh bằng cách lập trình công cụ.
Công cụ thời gian chạy SSIS chịu trách nhiệm kiểm soát cách quản lý và thực thi các gói. Nó triển khai luồng điều khiển và cơ sở hạ tầng quản lý gói mà SSIS cần để xử lý thứ tự thực thi, ghi nhật ký, biến và xử lý sự kiện. Cơ sở hạ tầng này cũng cho phép các nhà phát triển lập trình cho công cụ để tự động tạo, định cấu hình và thực thi các gói cũng như kiểm soát luồng thực thi. Họ cũng có thể đặt các tùy chọn để ghi nhật ký, xử lý sự kiện và biến.
Ngoài công cụ luồng dữ liệu và công cụ thời gian chạy, các thành phần chính của kiến trúc SSIS là:
- Nhà thiết kế SSIS.
- Pháp sư SSIS.
- Ứng dụng tùy chỉnh.
- Tiện ích dòng lệnh.
Nhà cung cấp nhật ký, nguồn dữ liệu, trình xử lý sự kiện, bộ liệt kê, nhiệm vụ/tác vụ tùy chỉnh và các thành phần luồng dữ liệu/thành phần luồng dữ liệu tùy chỉnh cũng là một phần của kiến trúc SSIS.
Các tính năng chính của SSIS
Dịch vụ tích hợp máy chủ Microsoft SQL bao gồm nhiều tính năng giúp đơn giản hóa việc tích hợp và chuyển đổi dữ liệu cho doanh nghiệp. Chúng bao gồm các trình kết nối nguồn dữ liệu tích hợp. Người dùng cũng có thể kết nối với các nguồn dữ liệu thường được sử dụng -- SQL Server, MySQL, PostgreSQL, Azure Blob Storage, Oracle, Excel, v.v. -- bằng Trình hướng dẫn Xuất và Nhập Máy chủ SQL. SSIS cũng cung cấp nhiều tác vụ và chuyển đổi tích hợp sẵn. Nhà phát triển cũng có thể viết các tác vụ tùy chỉnh nếu cần.
Các tính năng hữu ích khác của SSIS là:
- Các tác vụ và trình kết nối Hadoop/HDFS.
- Nguồn và đích của Kết nối cơ sở dữ liệu mở (ODBC).
- Các tác vụ và trình kết nối nguồn dữ liệu Azure.
- Các công cụ phân tích dữ liệu cơ bản.
Các tính năng này có sẵn ở cả phiên bản Tiêu chuẩn và Doanh nghiệp của SQL Server.
Phiên bản SQL Server Enterprise cũng cung cấp nhiều tính năng bổ sung, chẳng hạn như sau:
- Các nguồn và đích nâng cao, bao gồm nguồn Oracle và Teradata, đích Attunity, nguồn và đích SAP BW cũng như đích xử lý thứ nguyên.
- Các tác vụ và chuyển đổi nâng cao, bao gồm chuyển đổi truy vấn khai thác dữ liệu, chuyển đổi nhóm mờ và tra cứu mờ, v.v.
Lập trình SSIS
Hai công cụ trong SSIS, công cụ luồng dữ liệu và công cụ thời gian chạy, có thể được tự động hóa và mở rộng bằng cách lập trình để đáp ứng các yêu cầu tích hợp của tổ chức. Trên thực tế, khi họ lập trình SSIS, chính hai công cụ này đã được lập trình. Các công cụ này được viết bằng mã gốc nhưng có sẵn thông qua mô hình đối tượng SSIS.
Khi lập trình SSIS, nhà phát triển có thể mở rộng các gói bằng cách ghi các thành phần luồng dữ liệu tùy chỉnh (nguồn, chuyển đổi, đích). Các thành phần này có sẵn trong SSIS Designer (một công cụ đồ họa) và cung cấp chức năng tùy chỉnh trong một gói. Tùy chọn còn lại là tạo, định cấu hình và chạy các gói theo chương trình từ các ứng dụng khác.
Các nhà phát triển có quyền tự do mã hóa các tiện ích mở rộng để mở rộng chức năng của SSIS và các thành phần tích hợp của nó. Có thể tạo các tích hợp tùy chỉnh như trình quản lý kết nối, tác vụ, bộ liệt kê, nhà cung cấp nhật ký và các thành phần luồng dữ liệu để sử dụng trong nhiều gói bằng cách sử dụng các lớp cơ sở trong mô hình đối tượng SSIS làm điểm bắt đầu.
Để tạo và sử dụng các tiện ích mở rộng trong một gói theo cách đặc biệt (không thể sử dụng lại), nhà phát triển có thể viết mã trong tác vụ Tập lệnh, sau đó định cấu hình nó làm nguồn, chuyển đổi hoặc đích. Với phương pháp này, SSIS viết mã cơ sở hạ tầng để người dùng có thể tập trung phát triển chức năng tùy chỉnh cần thiết.
SSIS cho phép người dùng tạo các gói một cách linh hoạt và thao tác chúng theo chương trình. Bằng cách đó, họ có thể tải các gói hiện có mà không cần sửa đổi hoặc cấu hình lại. Các gói này có thể được tải dưới dạng mẫu, sau đó được cấu hình lại (ví dụ:đối với nguồn dữ liệu khác) và được thực thi. Người dùng cũng có thể tạo và thực thi các gói mới. Các gói này có thể bao gồm các thành phần được định cấu hình theo đối tượng và thuộc tính theo thuộc tính.
Các nhà phát triển có thể lập trình SSIS theo lựa chọn ngôn ngữ tương thích .NET (ví dụ:C#). Điều này là do SSIS hỗ trợ đầy đủ Microsoft .NET Framework và cũng do mô hình đối tượng SSIS. Mô hình này bao gồm các tính năng cho phép nhà phát triển mở rộng và lập trình các gói trong SSIS một cách dễ dàng và linh hoạt.
Bộ công cụ phát triển phần mềm .NET (SDK) bao gồm trình biên dịch Visual Basic và C# cùng với các công cụ phát triển liên quan. Bạn có thể sử dụng bất kỳ mã hoặc trình soạn thảo văn bản nào để lập trình các gói, tác vụ và thành phần tùy chỉnh cũng như để biên dịch và xây dựng các dự án mã SSIS -- bao gồm cả Visual Studio.
Khi lập trình SSIS bằng các ngôn ngữ tương thích với .NET, nhà phát triển phải lưu ý rằng .NET Framework được cài đặt với SQL Server theo mặc định. Tuy nhiên, .NET SDK thì không có, vì vậy họ sẽ cần cài đặt nó trên máy tính của mình để kích hoạt tài liệu SQL Server trong Visual Studio. Các nhà phát triển cũng cần lưu ý rằng giao diện lập trình ứng dụng (API) của SSIS không tương thích với VBScript và các ngôn ngữ kịch bản lệnh dựa trên COM khác khi lập trình SSIS và hai công cụ của nó.
Mô hình đối tượng SSIS
Mô hình đối tượng SSIS được quản lý hoàn toàn và nó làm cho công cụ luồng dữ liệu và công cụ thời gian chạy có sẵn và có thể lập trình được. Nó cho phép người dùng tạo và định cấu hình các gói, bao gồm các gói dựa trên siêu dữ liệu, theo từng dòng theo chương trình, sau đó thực thi các gói đó bằng bất kỳ ngôn ngữ lập trình được quản lý nào. Họ cũng có thể mã hóa các tác vụ tùy chỉnh và các đối tượng gói khác bằng mô hình đối tượng. Trên thực tế, với mô hình đối tượng, hầu hết mọi khía cạnh của gói SSIS đều có thể được lập trình và mở rộng.
Cùng với mô hình đối tượng, các nhà phát triển có thể sử dụng công cụ đồ họa không mã SSIS (SSIS Designer) để tạo các giải pháp tích hợp và chuyển đổi dữ liệu mà không cần viết bất kỳ mã nào. Cùng với nhau, mô hình đối tượng SSIS và các công cụ không cần mã cung cấp sự kết hợp mạnh mẽ để trích xuất và chuyển đổi dữ liệu nhằm giải quyết các thách thức kinh doanh phức tạp.
Các yếu tố chính của SSIS
Dịch vụ tích hợp máy chủ Microsoft SQL là một nền tảng chuyển đổi dữ liệu và tích hợp dữ liệu hoàn chỉnh cho SQL Server và Thời gian chạy tích hợp SSIS trong Azure Data Factory.
Nó bao gồm các yếu tố sau:
- Tác vụ tích hợp sẵn.
- Các phép biến đổi tích hợp sẵn.
- Công cụ đồ họa SSIS Designer.
- Danh mục cơ sở dữ liệu SSIS.
Nhiệm vụ là các thành phần luồng điều khiển trong các gói SSIS (một gói có thể có nhiều tác vụ được kết nối và sắp xếp theo trình tự trong luồng điều khiển). Mỗi tác vụ SSIS xác định đơn vị công việc sẽ được thực hiện trong luồng kiểm soát gói. SSIS hỗ trợ nhiều loại nhiệm vụ, bao gồm nhiệm vụ luồng dữ liệu, nhiệm vụ chuẩn bị dữ liệu, nhiệm vụ quy trình làm việc và nhiệm vụ SQL Server. Nhà phát triển có thể viết các tác vụ tùy chỉnh bằng ngôn ngữ lập trình .NET hoặc ngôn ngữ lập trình được COM hỗ trợ.
Trong SSIS, các phép biến đổi là các thành phần của gói tổng hợp, hợp nhất, phân phối và sửa đổi dữ liệu. SSIS cung cấp các loại biến đổi khác nhau thực hiện nhiều chức năng khác nhau. Ví dụ:các phép biến đổi thông minh trong doanh nghiệp (BI) thực hiện các hoạt động BI như làm sạch hoặc khai thác dữ liệu, trong khi các phép biến đổi hàng cập nhật giá trị cột và tạo các cột mới. Giống như các tác vụ, nhà phát triển có thể viết các phép biến đổi tùy chỉnh để phù hợp với yêu cầu kinh doanh. Những phép biến đổi này có thể có đầu ra đồng bộ hoặc không đồng bộ.
SSIS Designer là một công cụ đồ họa với các tab, hộp thoại và cửa sổ thân thiện với người dùng. Nó cho phép các nhà phát triển dễ dàng thực hiện và quản lý nhiều tác vụ liên quan đến dữ liệu, chẳng hạn như xây dựng điều khiển hoặc luồng dữ liệu trong một gói, thêm trình xử lý sự kiện vào gói, hoàn tác/làm lại các thay đổi và xem tiến trình thực thi gói trong thời gian chạy -- tất cả đều không cần viết bất kỳ mã nào. Dịch vụ SSIS không cần phải chạy để tạo hoặc sửa đổi các gói trong SSIS Designer.
Danh mục SSISDB lưu trữ các đối tượng như dự án, gói, tham số, môi trường và lịch sử hoạt động. Cần triển khai các dự án trong SSIS. Với Danh mục SSISDB, người dùng có thể thực hiện những việc sau:
- Kiểm tra các đối tượng được lưu trữ trong danh mục SSISDB bằng cách truy vấn các dạng xem trong SSISDB.
- Quản lý các đối tượng bằng cách gọi các thủ tục được lưu trữ trong SSISDB.
Danh mục SSIDB có thể chạy tại chỗ. Các tổ chức cũng có thể chuyển khối lượng công việc SSIS tại chỗ của mình sang Azure. Điều này có thể giảm chi phí hoạt động và tăng tính sẵn sàng và khả năng mở rộng. Họ có thể triển khai, chạy và quản lý các dự án và gói SSIS trong Danh mục SSISDB trên Cơ sở dữ liệu Azure SQL bằng các công cụ quen thuộc như SQL Server Management Studio (SSMS).
Các tính năng mới nhất trong Dịch vụ tích hợp SQL Server 2025
Kể từ tháng 7 năm 2025, phiên bản mới nhất của Dịch vụ tích hợp máy chủ SQL là v17.x (Bản xem trước). Phiên bản này bao gồm một tính năng mới, một thay đổi đáng chú ý và một số thay đổi không được dùng nữa và đã bị xóa.
Tính năng mới trong Dịch vụ tích hợp xem trước SQL Server 2025 (17.x) là trình quản lý kết nối ADO.NET hiện hỗ trợ Nhà cung cấp dữ liệu Microsoft SqlClient. Trình quản lý kết nối này cho phép các gói truy cập vào nguồn dữ liệu, chẳng hạn như SQL Server, bằng cách sử dụng nhà cung cấp .NET. SSIS tạo trình quản lý kết nối và đặt các thuộc tính của nó (việc này có thể được thực hiện theo chương trình hoặc sử dụng SSIS Designer).
Thay đổi đáng chú ý trong SSIS 17.x ảnh hưởng đến các tổ chức nâng cấp lên SSIS 2025 và sử dụng Không gian tên .NET API Microsoft.SqlServer.Dts.Runtime. Để tiếp tục sử dụng Không gian tên, các dự án phải cập nhật các tham chiếu và xây dựng lại khi một gói:bao gồm Thực thi tác vụ SQL hoặc có một số tác vụ SSIS nhất định dựa trên Đối tượng quản lý máy chủ SQL (SMO).
Các tính năng sau không được dùng nữa trong Dịch vụ tích hợp xem trước SQL Server 2025 (17.x):
- Dịch vụ SSIS cũ của SQL Server Management Studio.
- Chế độ 32 bit của Dịch vụ tích hợp (các công cụ sẽ chỉ hỗ trợ 64 bit ở các phiên bản hiện tại và tương lai).
- Loại kết nối Nhà cung cấp dữ liệu SqlClient (SDS) (Microsoft khuyến nghị người dùng nên chuyển sang loại kết nối ADO.NET).
Một số tính năng bị loại bỏ trong Dịch vụ tích hợp xem trước SQL Server 2025. Chúng bao gồm:
- Các thành phần Thu thập dữ liệu thay đổi (CDC) của Attunity và dịch vụ CDC dành cho Oracle.
- Trình kết nối Microsoft dành cho Oracle.
- Các thành phần Nhiệm vụ của Hadoop Hive, Nhiệm vụ của Hadoop Pig và Nhiệm vụ của Hệ thống Tệp Hadoop.
Những cải tiến trong các phiên bản trước của SSIS
Máy chủ SQL 2016
SQL Server 2016 đã giới thiệu Trình hướng dẫn nâng cấp SSISDB. Công cụ này cho phép các chuyên gia CNTT nâng cấp cơ sở dữ liệu danh mục khi cơ sở dữ liệu này cũ hơn phiên bản SQL Server hiện tại. Nó cũng có thể được sử dụng trong một số tình huống khắc phục thảm họa yêu cầu khôi phục từ bản sao lưu. Trình hướng dẫn SSISDB nâng cấp cơ sở dữ liệu danh mục để phù hợp với bất kỳ phiên bản SQL Server nào đang được sử dụng.
Dịch vụ tích hợp SQL Server 2016 cho phép quản trị viên thêm cơ sở dữ liệu danh mục SSIS vào Nhóm sẵn sàng luôn bật. Nó cũng bao gồm tính năng quản lý gói được cải thiện, trong đó quản trị viên có thể lưu vùng chứa hoặc tác vụ luồng điều khiển dưới dạng mẫu có thể sử dụng lại thông qua Dịch vụ Tích hợp. Ngoài ra, SQL Server 2016 còn có Gói tính năng SSIS dành cho Azure. Điều này cho phép quản trị viên kết nối với nguồn dữ liệu Azure và truyền dữ liệu giữa đám mây Azure và nguồn dữ liệu đặt tại cơ sở.
Microsoft đã phát hành trình kết nối cho SSIS vào năm 2016, bao gồm Trình kết nối cho SAP Business Warehouse cho SQL Server 2016, Trình kết nối phiên bản 4.0 cho Oracle và Teradata cũng như Trình kết nối dành cho Cập nhật công cụ hệ thống nền tảng phân tích 5.
SQL Server 2016 đã giới thiệu bản nâng cấp SSISDB. Máy chủ SQL 2017
SQL Server 2017 mang đến các tính năng SSIS mới, chẳng hạn như Mở rộng quy mô cho SSIS, giúp chạy SSIS trên nhiều máy dễ dàng hơn. Quản trị viên có thể tránh được một điểm lỗi duy nhất trong toàn bộ quá trình triển khai Mở rộng quy mô. Cũng bao gồm một cải tiến đối với việc xử lý chuyển đổi dự phòng của nhật ký thực thi từ Scal Out Workers. Nhật ký thực thi vẫn tồn tại trên đĩa cục bộ nếu Công cụ mở rộng quy mô dừng đột ngột.
Danh mục SSIS cũng bao gồm một thuộc tính chung mới chỉ định chế độ mặc định để thực thi các gói SSIS. Điều này áp dụng khi các chuyên gia CNTT gọi thủ tục lưu trữ với tham số runinscaleout được đặt thành null.
Lịch sử SSIS
Microsoft SSIS được giới thiệu cùng với SQL Server 2005 như một sự thay thế cho một công cụ tích hợp trước đó có tên là Dịch vụ chuyển đổi dữ liệu (DTS). Trước khi phát hành DTS với SQL Server 7.0 vào năm 1998, quản trị viên cơ sở dữ liệu đã viết các công cụ chuyển đổi dữ liệu tùy chỉnh hoặc sử dụng các công cụ của bên thứ ba để truyền dữ liệu.
Microsoft đã bổ sung một số tính năng cho SSIS trong những năm qua, bao gồm các công cụ đồ họa và trình hướng dẫn, cho phép người dùng xây dựng và gỡ lỗi các gói; chức năng quy trình công việc, chẳng hạn như các hoạt động giao thức truyền tệp; khả năng thực thi các câu lệnh SQL; khả năng gửi tin nhắn qua email; nguồn dữ liệu và đích đến cho ETL; các phép biến đổi để thu thập, làm sạch, hợp nhất và sao chép dữ liệu; một dịch vụ quản lý; khả năng quản lý việc thực thi và lưu trữ gói; và API cho các mô hình đối tượng SSIS. Trong số các tính năng phổ biến nhất là trình hướng dẫn nhập/xuất dữ liệu và trình kết nối nguồn dữ liệu đóng gói.
Hỗ trợ SSIS
SSIS dành riêng cho từng phiên bản nên người dùng phải có phiên bản SSIS phù hợp với phiên bản SQL Server của họ. Ngoài ra, SSIS không được hỗ trợ trong các phiên bản SQL Express hoặc Workgroup. Người dùng phải mua các phiên bản Tiêu chuẩn, Kinh doanh thông minh hoặc Doanh nghiệp để có được các thành phần thời gian chạy và thiết kế SSIS cũng như các công cụ lập hồ sơ dữ liệu cơ bản và các chuyển đổi dựng sẵn. Bộ điều hợp nâng cao và chuyển đổi nâng cao chỉ có trong phiên bản Enterprise.
So sánh cơ sở dữ liệu đám mây AWS, Microsoft, Google và Oracle, đồng thời khám phá cơ sở dữ liệu mẫu cho SQL Server cũng như cách tìm chúng.