Bereitstellen eines SSIS-Projekts mit PowerShellDeploy an SSIS project with PowerShell

In diesem Schnellstart wird dargestellt, wie Sie mit einem PowerShell-Skript eine Verbindung zu einem Datenbankserver herstellen und SSIS-Projekte im SSIS-Katalog bereitstellen.This quickstart demonstrates how to use a PowerShell script to connect to a database server and deploy an SSIS project to the SSIS Catalog.

VoraussetzungenPrerequisites

Ein Azure SQL-Datenbankserver überwacht Port 1433.An Azure SQL Database server listens on port 1433. Wenn Sie versuchen, eine Verbindung mit einem Azure SQL-Datenbankserver innerhalb einer Unternehmensfirewall herzustellen, muss dieser Port in der Unternehmensfirewall geöffnet sein, damit Sie eine Verbindung herstellen können.If you're trying to connect to an Azure SQL Database server from within a corporate firewall, this port must be open in the corporate firewall for you to connect successfully.

Unterstützte PlattformenSupported platforms

Mithilfe der Informationen in diesem Schnellstart können Sie auf den folgenden Plattformen SSIS-Projekte bereitstellen:You can use the information in this quickstart to deploy an SSIS project to the following platforms:

Dieser Schnellstart enthält keine Anleitung zum Bereitstellen von SSIS-Paketen in SQL Server unter Linux.You cannot use the information in this quickstart to deploy an SSIS package to SQL Server on Linux. Weitere Informationen zum Ausführen von Paketen finden Sie unter Extrahieren, Transformieren und Laden von Daten unter Linux mit SSIS.For more info about running packages on Linux, see Extract, transform, and load data on Linux with SSIS.

Abrufen der Verbindungsinformationen für Azure SQL-DatenbankFor Azure SQL Database, get the connection info

Um das Paket in Azure SQL-Datenbank bereitzustellen, rufen Sie die Verbindungsinformationen ab, die für die Verbindungsherstellung mit der SSIS-Katalogdatenbank (SSISDB) benötigt werden.To deploy the project to Azure SQL Database, get the connection information you need to connect to the SSIS Catalog database (SSISDB). Sie benötigen den vollqualifizierten Servernamen und die Anmeldeinformationen für die folgenden Prozeduren.You need the fully qualified server name and login information in the procedures that follow.

  1. Melden Sie sich beim Azure-Portalan.Log in to the Azure portal.
  2. Wählen Sie aus dem Menü auf der linken Seite SQL-Datenbanken aus, und klicken Sie auf der Seite SQL-Datenbanken auf die SSISDB-Datenbank.Select SQL Databases from the left-hand menu, and then select the SSISDB database on the SQL databases page.
  3. Überprüfen Sie auf der Übersichtsseite Ihrer Datenbank den vollqualifizierten Servernamen.On the Overview page for your database, review the fully qualified server name. Zeigen Sie auf den Servernamen, damit die Option Klicken Sie zum Kopieren angezeigt wird.To see the Click to copy option, hover over the server name.
  4. Wenn Sie die Anmeldeinformationen für Ihren Azure SQL-Datenbankserver vergessen, navigieren Sie zur Seite „SQL Datenbankserver“, damit der Serveradministratorname angezeigt wird.If you forget your Azure SQL Database server login information, navigate to the SQL Database server page to view the server admin name. Sie können das Kennwort falls erforderlich zurücksetzen.You can reset the password if necessary.
  5. Klicken Sie auf Datenbank-Verbindungszeichenfolgen anzeigen.Click Show database connection strings.
  6. Überprüfen Sie die vollständige ADO.NET-Verbindungszeichenfolge.Review the complete ADO.NET connection string.

PowerShell-SkriptPowerShell script

Geben Sie am Anfang des folgenden Skripts geeignete Werte für die Variablen an, und führen Sie das Skript aus, um das SSIS-Projekt bereitzustellen.Provide appropriate values for the variables at the top of the following script, and then run the script to deploy the SSIS project.

Hinweis

Im folgenden Beispiel wird mit der Windows-Authentifizierung eine SQL Server-Infrastruktur bereitgestellt.The following example uses Windows Authentication to deploy to a SQL Server on premises. Ersetzen Sie das Argument Integrated Security=SSPI; durch User ID=<user name>;Password=<password>;, um die SQL Server-Authentifizierung zu verwenden.To use SQL Server authentication, replace the Integrated Security=SSPI; argument with User ID=<user name>;Password=<password>;. Wenn Sie eine Verbindung mit einem Azure SQL-Datenbankserver herstellen, können Sie keine Windows-Authentifizierung verwenden.If you're connecting to an Azure SQL Database server, you can't use Windows authentication.

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

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

Nächste SchritteNext steps