Aracılığıyla paylaş


PowerShell ile SSIS paketi çalıştırma

Şunlar için geçerlidir:SQL Server Azure Data Factory'de SSIS Entegrasyon Çalışma Zamanı

Bu hızlı başlangıçta bir veritabanı sunucusuna bağlanmak ve SSIS paketini çalıştırmak için PowerShell betiğinin nasıl kullanılacağı gösterilmektedir.

Önkoşullar

Azure SQL Veritabanı sunucusu 1433 numaralı bağlantı noktasını dinler. Şirket güvenlik duvarı içinden bir Azure SQL Veritabanı sunucusuna bağlanmaya çalışıyorsanız, başarıyla bağlanabilmeniz için bu bağlantı noktasının şirket güvenlik duvarında açık olması gerekir.

Desteklenen platformlar

Bu hızlı başlangıçtaki bilgileri kullanarak aşağıdaki platformlarda bir SSIS paketi çalıştırabilirsiniz:

Linux'ta SSIS paketini çalıştırmak için bu hızlı başlangıçtaki bilgileri kullanamazsınız. Linux'ta paketleri çalıştırma hakkında daha fazla bilgi için bkz. SSIS ile Linux'ta verileri ayıklama, dönüştürme ve yükleme.

Azure SQL Veritabanı için bağlantı bilgilerini alın

Paketi Azure SQL Veritabanı'nda çalıştırmak için SSIS Kataloğu veritabanına (SSISDB) bağlanmanız için gereken bağlantı bilgilerini alın. Aşağıdaki yordamlarda tam sunucu adına ve oturum açma bilgilerine ihtiyacınız vardır.

  1. Azure portalınaoturum açın.
  2. Sol taraftaki menüden SQL Veritabanları'nı ve ardından SQL veritabanları sayfasında SSISDB veritabanını seçin.
  3. Veritabanınızın Genel Bakış sayfasında tam sunucu adını gözden geçirin. Kopyalamak için tıklayın seçeneğini görmek için sunucu adının üzerine gelin.
  4. Azure SQL Veritabanı sunucusu oturum açma bilgilerinizi unutursanız, sunucu yöneticisi adını görüntülemek için SQL Veritabanı sunucusu sayfasına gidin. Gerekirse parolayı sıfırlayabilirsiniz.
  5. Veritabanı bağlantı dizelerini göster'e tıklayın.
  6. Tam ADO.NET bağlantı dizesini gözden geçirin.

SSIS PowerShell Sağlayıcısı

SSIS PowerShell Sağlayıcısı'nı kullanarak bir SSIS kataloğuna bağlanabilir ve içindeki paketleri yürütebilirsiniz.

SSIS PowerShell Sağlayıcısı ile bir paket kataloğunda SSIS paketini yürütmeye ilişkin temel bir örnek aşağıda verilmiştir.

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

PowerShell betiği

Aşağıdaki betiğin en üstündeki değişkenler için uygun değerleri sağlayın ve ardından betiği çalıştırarak SSIS paketini çalıştırın.

Uyarı

Aşağıdaki örnek Windows Kimlik Doğrulaması'nı kullanır. SQL Server kimlik doğrulamasını kullanmak için bağımsız değişkenini Integrated Security=SSPI; ile User ID=<user name>;Password=<password>;değiştirin. Azure SQL Veritabanı sunucusuna bağlanıyorsanız Windows kimlik doğrulamasını kullanamazsınız.

# 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."

Sonraki Adımlar