Sdílet prostřednictvím


Nasazení projektu SSIS pomocí PowerShellu

platí pro:SQL Server SSIS Integration Runtime ve službě Azure Data Factory

Tento rychlý start ukazuje, jak se pomocí skriptu PowerShellu připojit k databázovému serveru a nasadit projekt SSIS do katalogu SSIS.

Předpoklady

Server Azure SQL Database naslouchá na portu 1433. Pokud se pokoušíte připojit k serveru Azure SQL Database z podnikové brány firewall, musí být tento port otevřený v podnikové bráně firewall, abyste se mohli úspěšně připojit.

Podporované platformy

Informace v tomto rychlém startu můžete použít k nasazení projektu SSIS na následující platformy:

Informace v tomto rychlém startu nemůžete použít k nasazení balíčku SSIS na SQL Server v Linuxu. Další informace o spouštění balíčků v Linuxu najdete v tématu Extrakce, transformace a načítání dat v Linuxu pomocí služby SSIS.

V případě Azure SQL Database získejte informace o připojení.

Pokud chcete projekt nasadit do služby Azure SQL Database, získejte informace o připojení, které potřebujete pro připojení k databázi katalogu SSIS (SSISDB). V následujících postupech potřebujete plně kvalifikovaný název serveru a přihlašovací údaje.

  1. Přihlaste se do Azure Portalu.
  2. V nabídce vlevo vyberte databáze SQL a pak na stránce databáze SQL vyberte databázi SSISDB.
  3. Na stránce Přehled databáze zkontrolujte plně kvalifikovaný název serveru. Pokud chcete zobrazit možnost Kopírování kliknutím , najeďte myší na název serveru.
  4. Pokud zapomenete přihlašovací údaje k serveru Azure SQL Database, přejděte na stránku serveru Azure SQL Database a zobrazte název správce serveru. V případě potřeby můžete heslo resetovat.
  5. Vyberte Zobrazit připojovací řetězce databáze.
  6. Zkontrolujte úplný připojovací řetězec ADO.NET.

Podporovaná metoda ověřování

Projděte si metody ověřování pro nasazení.

Zprostředkovatel prostředí SSIS PowerShell

Zadejte odpovídající hodnoty proměnných v horní části následujícího skriptu a pak spusťte skript pro nasazení projektu SSIS.

Poznámka:

Následující příklad používá ověřování systému Windows k nasazení do místního SQL Serveru. Pomocí rutiny New-PSDive vytvořte připojení pomocí ověřování SQL Serveru. Pokud se připojujete k serveru Azure SQL Database, nemůžete použít ověřování systému Windows.

# Variables
$TargetInstanceName = "localhost\default"
$TargetFolderName = "Project1Folder"
$ProjectFilePath = "C:\Projects\Integration Services Project1\Integration Services Project1\bin\Development\Integration Services Project1.ispac"
$ProjectName = "Integration Services Project1"

# Get the Integration Services catalog
$catalog = Get-Item SQLSERVER:\SSIS\$TargetInstanceName\Catalogs\SSISDB\

# Create the target folder
New-Object "Microsoft.SqlServer.Management.IntegrationServices.CatalogFolder" ($catalog,
$TargetFolderName,"Folder description") -OutVariable folder
$folder.Create()

# Read the project file and deploy it
[byte[]] $projectFile = [System.IO.File]::ReadAllBytes($ProjectFilePath)
$folder.DeployProject($ProjectName, $projectFile)

# Verify packages were deployed.
dir "$($catalog.PSPath)\Folders\$TargetFolderName\Projects\$ProjectName\Packages" |
SELECT Name, DisplayName, PackageId

Skript PowerShellu

Zadejte odpovídající hodnoty proměnných v horní části následujícího skriptu a pak spusťte skript pro nasazení projektu SSIS.

Poznámka:

Následující skript vyžaduje sestavení Microsoft.Data.SqlClient . Nainstalujte ho z balíčku NuGet a ujistěte se, že je knihovna DLL přístupná pro PowerShell. Můžete ho načíst s Add-Type -Path "path\to\Microsoft.Data.SqlClient.dll" před spuštěním skriptu.

Následující příklad používá ověřování systému Windows k nasazení do místního SQL Serveru. Chcete-li použít ověřování SYSTÉMU SQL Server, nahraďte Integrated Security=SSPI; argument argumentem User ID=<user name>;Password=<password>;. Pokud se připojujete k serveru Azure SQL Database, nemůžete použít ověřování systému Windows.

# Variables
$SSISNamespace = "Microsoft.SqlServer.Management.IntegrationServices"
$TargetServerName = "localhost"
$TargetFolderName = "Project1Folder"
$ProjectFilePath = "C:\Projects\Integration Services Project1\Integration Services Project1\bin\Development\Integration Services Project1.ispac"
$ProjectName = "Integration Services Project1"

# 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 Microsoft.Data.SqlClient.SqlConnection $sqlConnectionString

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

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

# Create the target folder
$folder = New-Object $SSISNamespace".CatalogFolder" ($catalog, $TargetFolderName,
    "Folder description")
$folder.Create()

Write-Host "Deploying " $ProjectName " project ..."

# Read the project file and deploy it
[byte[]] $projectFile = [System.IO.File]::ReadAllBytes($ProjectFilePath)
$folder.DeployProject($ProjectName, $projectFile)

Write-Host "Done."