Bagikan melalui


Menjalankan paket SSIS dengan PowerShell

Berlaku untuk: SQL Server SSIS Integration Runtime di Azure Data Factory

Mulai cepat ini menunjukkan cara menggunakan skrip PowerShell untuk menyambungkan ke server database dan menjalankan paket SSIS.

Prasyarat

Server Azure SQL Database mendengarkan port 1433. Jika Anda mencoba menyambungkan ke server Azure SQL Database dari dalam firewall perusahaan, port ini harus terbuka di firewall perusahaan agar Anda berhasil tersambung.

Platform yang didukung

Anda dapat menggunakan informasi dalam mulai cepat ini untuk menjalankan paket SSIS pada platform berikut:

Anda tidak dapat menggunakan informasi dalam mulai cepat ini untuk menjalankan paket SSIS di Linux. Untuk informasi selengkapnya tentang menjalankan paket di Linux, lihat Mengekstrak, mengubah, dan memuat data di Linux dengan SSIS.

Untuk Azure SQL Database, dapatkan info koneksi

Untuk menjalankan paket di Azure SQL Database, dapatkan informasi koneksi yang Anda butuhkan untuk menyambungkan ke database Katalog SSIS (SSISDB). Anda memerlukan nama server dan informasi masuk yang sepenuhnya memenuhi syarat dalam prosedur berikut.

  1. Masuk ke portal Azure.
  2. Pilih SQL Database dari menu sebelah kiri, lalu pilih database SSISDB di halaman database SQL.
  3. Pada halaman Gambaran Umum untuk database Anda, tinjau nama server yang sepenuhnya memenuhi syarat. Untuk melihat opsi Klik untuk menyalin , arahkan kursor ke nama server.
  4. Jika Anda lupa informasi masuk server Azure SQL Database Anda, navigasikan ke halaman server SQL Database untuk melihat nama admin server. Anda dapat mengatur ulang kata sandi jika perlu.
  5. Klik Perlihatkan string koneksi database.
  6. Tinjau string koneksi ADO.NET lengkap.

Penyedia SSIS PowerShell

Anda dapat menggunakan Penyedia PowerShell SSIS untuk menyambungkan ke katalog SSIS dan menjalankan paket di dalamnya.

Di bawah ini adalah contoh dasar cara menjalankan paket SSIS dalam katalog paket dengan Penyedia PowerShell SSIS.

(Get-ChildItem SQLSERVER:\SSIS\localhost\Default\Catalogs\SSISDB\Folders\Project1Folder\Projects\'Integration Services Project1'\Packages\ |
WHERE { $_.Name -eq 'Package.dtsx' }).Execute("false", $null)

skrip PowerShell

Berikan nilai yang sesuai untuk variabel di bagian atas skrip berikut, lalu jalankan skrip untuk menjalankan paket SSIS.

Catatan

Contoh berikut menggunakan Autentikasi Windows. Untuk menggunakan autentikasi SQL Server, ganti Integrated Security=SSPI; argumen dengan User ID=<user name>;Password=<password>;. Jika Anda menyambungkan ke server Azure SQL Database, Anda tidak dapat menggunakan autentikasi Windows.

# Variables
$SSISNamespace = "Microsoft.SqlServer.Management.IntegrationServices"
$TargetServerName = "localhost"
$TargetFolderName = "Project1Folder"
$ProjectName = "Integration Services Project1"
$PackageName = "Package.dtsx"

# Load the IntegrationServices assembly
$loadStatus = [System.Reflection.Assembly]::Load("Microsoft.SQLServer.Management.IntegrationServices, "+
    "Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL")

# Create a connection to the server
$sqlConnectionString = `
    "Data Source=" + $TargetServerName + ";Initial Catalog=master;Integrated Security=SSPI;"
$sqlConnection = New-Object System.Data.SqlClient.SqlConnection $sqlConnectionString

# Create the Integration Services object
$integrationServices = New-Object $SSISNamespace".IntegrationServices" $sqlConnection

# Get the Integration Services catalog
$catalog = $integrationServices.Catalogs["SSISDB"]

# Get the folder
$folder = $catalog.Folders[$TargetFolderName]

# Get the project
$project = $folder.Projects[$ProjectName]

# Get the package
$package = $project.Packages[$PackageName]

Write-Host "Running " $PackageName "..."

$result = $package.Execute("false", $null)

Write-Host "Done."

Langkah berikutnya