Ngay cả trên hệ điều hành Windows, có nhiều mẹo Command Prompt và PowerShell mà ít người dùng biết. PowerShell mang đến nhiều tính năng, hỗ trợ người dùng trên nhiều nền tảng, bao gồm cả MySQL. Bạn có thể tạo SSIS Catalog bằng PowerShell qua vài lệnh đơn giản.
Khi triển khai máy chủ SQL và cần thực hiện Business Intelligence (viết tắt là BI, tạm dịch là kinh doanh thông minh hay trí tuệ doanh nghiệp), SQL Server Integration Services (SSIS) Catalog là điều không thể thiếu.
Trước khi bắt đầu tạo SSIS Catalog bằng PowerShell, nếu chưa có, trước hết bạn cần cài đặt SQL Server Management Studio để có thư viện cần thiết cho việc giao tiếp với máy chủ SQL.
Sau khi cài đặt SQL Server Management Studio, hãy đảm bảo rằng bạn đã cài đặt phiên bản PowerShell từ v4 trở lên. Khi đã đáp ứng các điều kiện tiên quyết này, bạn có thể bắt đầu viết mã nguồn.
Bước đầu tiên là phải đảm bảo rằng các đối tượng .NET sẽ hoạt động với phiên bản PowerShell hiện tại. Điều này là để tải Microsoft.SqlServer.Management.IntegrationServices.NET.
# Thêm-Kiểu -Đường dẫn $đườngDẫnThưViện
Sau khi hoàn tất, bước tiếp theo là cài đặt một số biến. Việc xác định các biến không bắt buộc, nhưng bạn có thể dễ dàng điều chỉnh chúng khi cần thiết.
Ở bước này, bạn sẽ khởi tạo 3 biến, bao gồm: 1 là tên của máy chủ SQL sẽ được tạo, 1 là mật khẩu cho danh mục, và 1 là tên danh mục.
$tenMayChuSQL = 'SQLSRV'
$matKhauBaoMat = ConvertTo-SecureString -String 'p@$$w0rd' -AsPlainText -
Force $tenDanhMuc = 'SSISDB'
Bước tiếp theo là thiết lập kết nối với máy chủ SQL. Dưới đây là xác định chuỗi kết nối SQL và truyền chuỗi kết nối đó như một tham số cho đối tượng SqlConnection. Chuỗi kết nối của bạn có thể khác so với ví dụ dưới đây.
$chuoiKetNoiSQL = 'Data Source=$tenMayChuSQL;Initial
Catalog=master;Integrated Security=SSPI;'
$ketNoiSQL = New-Object System.Data.SqlClient.SqlConnection
$chuoiKetNoi
Sau khi có đối tượng SqlConnection, bạn sẽ truyền đối tượng này như một tham số cho đối tượng Microsoft.SqlServer.Management.IntegrationServices.IntegrationServices.
Cơ bản là để thông báo cho script biết rằng bạn chuẩn bị thực hiện một số thao tác với SSIS.
$dichVuHoiNghiep = New-Object 'Microsoft.SqlServer.Management.IntegrationServices.IntegrationServices' $ketNoiSQL
Cuối cùng, tạo một đối tượng danh mục sử dụng các biến bạn đã tạo trước đó. Đối tượng Microsoft.SqlServer.Management.IntegrationServices.Catalog yêu cầu đối tượng Microsoft.SqlServer.Management.IntegrationServices.IntegrationServices bạn đã tạo trước đó để chỉ đến máy chủ SQL. Bạn cũng có thể xác định tên danh mục ở đây và cuối cùng là chuyển đổi mật khẩu sang định dạng securestring.
$danhMuc = New-Object 'Microsoft.SqlServer.Management.IntegrationServices.Catalog'
($dichVuHoiNghiep, $tenDanhMuc, $matKhauBaoMat)
Tuy nhiên, những bước trước đó chỉ là để thiết lập các yêu cầu cần thiết để tạo danh mục, chưa tạo ra danh mục. Cuối cùng, bạn cần tạo yêu cầu với máy chủ SQL và tạo danh mục, chỉ cần gọi phương thức Create () mà không có tham số để hoàn thành quá trình:
$danhMuc.Create()
Nếu bạn nhìn vào máy chủ SQL, bạn sẽ thấy một danh mục SSDB đã được tạo. Bây giờ, bạn có thể tạo một kết nối khác trong PowerShell và xem danh mục vừa tạo bằng cách sử dụng thuộc tính Catalogs trên đối tượng IntegrationServices.
$dichVuHoiNghiep = New-Object 'Microsoft.SqlServer.Management.IntegrationServi
$dichVuHoiNghiep = 'Microsoft.SqlServer.Management.IntegrationServi ces.IntegrationServices' $ketNoiSQL
$danhMuc = $dichVuHoiNghiep.Catalogs
Bên cạnh đó, bạn cũng có thể tạo một cặp thư mục khác. Sau khi kéo danh mục từ máy chủ SQL vào đúng loại đối tượng, bạn có thể tạo một đối tượng CatalogFolder và gọi phương thức Create () trên nó để tạo ra nhiều thư mục khác theo ý muốn:
$tenThuMuc = 'FOO'
$moTa = 'moTaOday'
$thuMuc = New-Object
'Microsoft.SqlServer.Management.IntegrationServices.CatalogFo lder' ($danhMuc, $tenThuMuc, $moTa) $thuMuc.Create()
Dưới đây là quy trình tạo SSIS Catalog bằng PowerShell. Nếu có bất kỳ thắc mắc hoặc ý kiến cần giải đáp, hãy để lại ý kiến của bạn trong phần bình luận dưới bài viết, chúng tôi sẽ phản hồi sớm nhất có thể.
