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.
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
L'esempio seguente usa l'autenticazione di Windows per l'implementazione su un'istanza di SQL Server locale. 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.
# ===== Param =====
$TargetSqlVersion = '2025' # 2017 / 2019 / 2022 / 2025
$TargetServerName = 'localhost'
$TargetFolderName = 'Project1Folder'
$ProjectName = 'Integration Services Project1'
$ProjectFilePath = 'C:\Projects\Integration Services Project1\Integration Services Project1\bin\Development\Integration Services Project1.ispac'
# ========================
$SSISNamespace = 'Microsoft.SqlServer.Management.IntegrationServices'
$isV2025OrLater = [int]$TargetSqlVersion -ge 2025
if ($isV2025OrLater) {
# 2025+ : need Microsoft.Data.SqlClient (shipped with SqlServer module 22.x)
$required = '22.4.5.1'
if (-not (Get-Module -ListAvailable -Name SqlServer |
Where-Object { $_.Version -eq [version]$required })) {
Install-Module -Name SqlServer -RequiredVersion $required -Scope CurrentUser -AllowClobber -Force
}
Import-Module SqlServer -RequiredVersion $required
$sqlClientType = 'Microsoft.Data.SqlClient.SqlConnection'
}
else {
# 2017 / 2019 / 2022 : in-box System.Data.SqlClient
$sqlClientType = 'System.Data.SqlClient.SqlConnection'
}
[Reflection.Assembly]::LoadWithPartialName($SSISNamespace) | Out-Null
[Reflection.Assembly]::LoadWithPartialName(($SSISNamespace + 'Enum')) | Out-Null
$sqlConnectionString = "Data Source=$TargetServerName;Initial Catalog=master;Integrated Security=SSPI;Encrypt=True;TrustServerCertificate=True;
$sqlConnection = New-Object $sqlClientType $sqlConnectionString
$integrationServices = New-Object ($SSISNamespace + '.IntegrationServices') $sqlConnection
$catalog = $integrationServices.Catalogs['SSISDB']
$folder = New-Object ($SSISNamespace + '.CatalogFolder') ($catalog, $TargetFolderName, 'Folder description')
$folder.Create()
Write-Host "Deploying $ProjectName ..."
[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#