適用於:SQL Server
Azure Data Factory 中的 SSIS Integration Runtime
本快速入門示範如何使用 PowerShell 指令碼連線至資料庫伺服器,並將 SSIS 專案部署到 SSIS 目錄。
先決條件
Azure SQL Database 伺服器會接聽連接埠 1433。 如果您要嘗試透過公司防火牆連線至 Azure SQL Database 伺服器,則必須在公司防火牆中開啟此連接埠,讓您成功連線。
支援的平台
您可以使用本快速入門中的資訊,將 SSIS 套件部署到下列平台:
Windows 上的 SQL Server。
Azure SQL Database。 如需在 Azure 中部署和執行套件的詳細資訊,請參閱將 SQL Server Integration Services 工作負載隨即轉移至雲端。
你無法利用這個快速入門的資訊來部署 SSIS 套件到 Linux 上的 SQL Server。 如需在 Linux 上執行套件的詳細資訊,請參閱使用 SSIS 在 Linux 上擷取、轉換和載入資料。
針對 Azure SQL Database,請取得連線資訊
若要將專案部署到 Azure SQL Database,請取得連線至 SSIS 目錄資料庫 (SSISDB) 所需的連線資訊。 在下列程序中,您需要完整伺服器名稱和登入資訊。
- 登入 Azure 入口網站。
- 從左側功能表中選取 [SQL 資料庫],然後選取 [SQL 資料庫] 頁面上的 SSISDB 資料庫。
- 在您資料庫的 [概觀] 頁面上,檢閱完整伺服器名稱。 若要看到 點擊以複製 選項,請將滑鼠指標懸停在伺服器名稱上。
- 如果您忘記 Azure SQL Database 伺服器登入資訊,請巡覽至 [SQL Database 伺服器] 頁面來檢視伺服器管理員名稱。 如有需要,您可以重設密碼。
- 選擇 顯示資料庫連接字串。
- 檢閱完整 ADO.NET 連接字串。
支援的驗證方法
請參閱適用於部署的驗證方法。
PowerShell 指令碼
為下列指令碼上方的變數提供適當的值,然後執行指令碼部署 SSIS 專案。
注意
下列範例會使用 Windows 驗證來部署至內部部署的 SQL Server。 若要使用 SQL Server 驗證,請使用 Integrated Security=SSPI; 取代 User ID=<user name>;Password=<password>; 引數。 如果要連線至 Azure SQL Database 伺服器,您無法使用 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.'
相關內容
- 使用 SQL Server Management Studio(SSMS)部署 SSIS 專案
- 使用 Transact-SQL 從 SSMS 部署 SSIS 專案
- 使用 Transact-SQL 從 Visual Studio Code 部署 SSIS 專案
- 從命令提示字元部署 SSIS 專案,並使用 ISDeploymentWizard.exe
- 在 .NET 應用程式中部署一個使用 C# 程式碼的 SSIS 專案
- 使用 SQL Server Management Studio(SSMS) 執行 SSIS 套件
- 使用 Transact-SQL 從 SSMS 執行 SSIS 套件
- 用 Visual Studio Code 搭配 Transact-SQL 執行 SSIS 套件
- 從命令提示字元執行 SSIS 套件,並用 DTExec.exe
- 使用 PowerShell 執行 SSIS 套件
- 在 .NET 應用程式中執行一個帶有 C# 程式碼的 SSIS 套件