Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Runtime di integrazione SSIS in Azure Data Factory
Questa guida introduttiva illustra come usare uno script di PowerShell per connettersi a un server di database e distribuire un progetto SSIS nel catalogo SSIS.
Prerequisiti
Un server di Database SQL di Azure è in ascolto sulla porta 1433. Se si sta provando a connettersi a un server di database SQL di Azure dall'interno di un firewall aziendale, per stabilire correttamente la connessione questa porta deve essere aperta nel firewall aziendale.
Piattaforme supportate
È possibile usare le informazioni di questa guida introduttiva per distribuire un progetto SSIS nelle piattaforme seguenti:
SQL Server in Windows.
Database SQL di Azure. Per altre informazioni sulla distribuzione e l'esecuzione di pacchetti in Azure, vedere Spostare i carichi di lavoro di SQL Server Integration Services nel cloud.
Non è possibile usare le informazioni contenute in questa guida introduttiva per distribuire un pacchetto SSIS in SQL Server in Linux. Per altre informazioni sull'esecuzione di pacchetti in Linux, vedere Estrarre, trasformare e caricare i dati in Linux con SSIS.
Ottenere le informazioni di connessione per il database SQL di Azure
Per distribuire il progetto nel database SQL di Azure, ottenere le informazioni di connessione necessarie per connettersi al database del catalogo SSIS (SSISDB). Nelle procedure che seguono sono necessari il nome completo del server e le informazioni di accesso.
- Accedere al portale di Azure.
- Selezionare Database SQL nel menu a sinistra e quindi il database SSISDB nella pagina Database SQL.
- Nella pagina Panoramica del tuo database, verifica il nome completo del server. Passare il mouse sul nome del server per visualizzare l'opzione Fare clic per copiare.
- Se si dimenticano le informazioni di accesso del server di database SQL di Azure, passare alla pagina del server di database SQL per visualizzare il nome amministratore del server. Se necessario, è possibile reimpostare la password.
- Selezionare Mostra stringhe di connessione del database.
- Esaminare l'intera stringa di connessione ADO.NET.
Metodo di autenticazione supportato
Vedere i metodi di autenticazione per la distribuzione.
Provider PowerShell per SSIS
Specificare i valori appropriati per le variabili nella parte superiore dello script seguente e quindi eseguire lo script per distribuire il progetto SSIS.
Nota
L'esempio seguente usa l'autenticazione di Windows per l'implementazione su un'istanza di SQL Server locale. Usare il cmdlet New-PSDive per stabilire una connessione usando l'autenticazione di SQL Server. Se ci si connette a un server di database SQL di Azure, non è possibile usare l'autenticazione di 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
Script di PowerShell
Specificare i valori appropriati per le variabili nella parte superiore dello script seguente e quindi eseguire lo script per distribuire il progetto SSIS.
Nota
Lo script seguente richiede l'assembly Microsoft.Data.SqlClient . Installarlo dal pacchetto NuGet e assicurarsi che la DLL sia accessibile a PowerShell. È possibile caricarlo con Add-Type -Path "path\to\Microsoft.Data.SqlClient.dll" prima di eseguire lo script.
L'esempio seguente usa l'autenticazione di Windows per distribuire su un server SQL interno. Per usare l'autenticazione di SQL Server, sostituire l'argomento Integrated Security=SSPI; con User ID=<user name>;Password=<password>;. Se ci si connette a un server di database SQL di Azure, non è possibile usare l'autenticazione di 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."
Contenuti correlati
- Distribuire un pacchetto SSIS con SSMS
- Distribuire un pacchetto SSIS con Transact-SQL (SSMS)
- Distribuire un pacchetto SSIS con Transact-SQL (Visual Studio Code)
- Distribuire un pacchetto SSIS dal prompt dei comandi
- Distribuire un pacchetto SSIS con C#
- Eseguire un pacchetto SSIS con SSMS
- Eseguire un pacchetto SSIS con Transact-SQL (SSMS)
- Eseguire un pacchetto SSIS con Transact-SQL (Visual Studio Code)
- Eseguire un pacchetto SSIS dal prompt dei comandi
- Eseguire un pacchetto SSIS con PowerShell
- Eseguire un pacchetto SSIS con C#