Ekstensi Azure DevOps SQL Server Integration Services (SSIS) DevOps Tools
Ekstensi SSIS DevOps Tools tersedia di Azure DevOps Marketplace. SSIS DevOps mendukung Azure DevOps Services, Azure DevOps Server 2019 ke atas.
Jika Anda tidak memiliki organisasi Azure DevOps , pertama-tama daftar untuk Azure Pipelines, tambahkan ekstensi SSIS DevOps Tools mengikuti langkah-langkahnya.
Alat DevOps SSIS mencakup tugas Build SSIS, tugas rilis Penyebaran SSIS, dan tugas Konfigurasi Katalog SSIS.
Tugas Build SSIS mendukung pembuatan file dtproj dalam model penyebaran proyek atau model penyebaran paket.
Tugas SSIS Deploy mendukung penyebaran file ispac tunggal atau beberapa ke katalog SSIS lokal dan runtime integrasi Azure-SSIS, atau file SSISDeploymentManifest dan file terkait ke berbagi file lokal atau Azure.
Tugas Konfigurasi Katalog SSIS mendukung konfigurasi folder/proyek/lingkungan Katalog SSIS dengan file konfigurasi dalam format JSON. Tugas ini mendukung skenario berikut:
- Folder
- Buat folder.
- Perbarui deskripsi folder.
- Proyek
- Konfigurasikan nilai parameter, baik nilai harfiah maupun nilai yang dirujuk didukung.
- Tambahkan referensi lingkungan.
- Lingkungan
- Buat lingkungan.
- Perbarui deskripsi lingkungan.
- Membuat atau memperbarui variabel lingkungan.
- Folder
Tugas Build SSIS
Properti
Jalur proyek
Jalur folder atau file proyek yang akan dibangun. Jika jalur folder ditentukan, tugas Build SSIS akan mencari semua file dtproj secara rekursif di bawah folder ini dan membangun semuanya.
Jalur proyek tidak boleh kosong, diatur sebagai . untuk membangun dari folder akar repositori.
Konfigurasi proyek
Nama konfigurasi proyek yang akan digunakan untuk build. Jika tidak disediakan, ini default ke konfigurasi proyek pertama yang ditentukan di setiap file dtproj.
Jalur output
Jalur folder terpisah untuk menyimpan hasil build, yang dapat diterbitkan sebagai artefak build melalui tugas menerbitkan artefak build.
Batasan dan masalah umum
Tugas Build SSIS bergantung pada desainer Visual Studio dan SSIS, yang wajib ditujukan pada agen build. Dengan demikian, untuk menjalankan tugas Build SSIS di alur:
- untuk agen yang dihosting Microsoft, Anda harus memilih gambar yang tersedia yang menyertakan ekstensi Visual Studio dan SQL Server Integration Services, misalnya, windows-2022. Detail mengacu pada dokumentasi agen yang dihosting Microsoft untuk perangkat lunak yang disertakan dalam gambar yang tersedia.
- untuk agen yang dihost sendiri, instal Visual Studio dan perancang SSIS (baik ekstensi Vs2022 + Proyek SSIS, atau ekstensi VS2019 + Proyek SSIS) pada agen yang dihost sendiri.
Untuk membangun proyek SSIS menggunakan komponen siap pakai apa pun (termasuk paket fitur SSIS Azure, dan komponen pihak ketiga lainnya), komponen siap pakai tersebut harus diinstal pada komputer tempat agen alur berjalan. Untuk agen yang dihosting Microsoft, pengguna dapat menambahkan tugas Skrip PowerShell atau tugas Skrip Baris Perintah untuk mengunduh dan menginstal komponen sebelum tugas Build SSIS dijalankan. Di bawah ini adalah sampel skrip PowerShell untuk menginstal Azure Feature Pack:
wget -Uri https://download.microsoft.com/download/E/E/0/EE0CB6A0-4105-466D-A7CA-5E39FA9AB128/SsisAzureFeaturePack_2017_x86.msi -OutFile AFP.msi
start -Wait -FilePath msiexec -Args "/i AFP.msi /quiet /l* log.txt"
cat log.txt
- Tingkat perlindungan EncryptSensitiveWithPassword dan EncryptAllWithPassword tidak didukung dalam tugas Build SSIS. Pastikan semua proyek SSIS dalam basis kode tidak menggunakan dua tingkat perlindungan ini, atau tugas Build SSIS akan berhenti merespons dan waktu habis selama eksekusi.
Tugas Build SSIS versi 1.*
Penyempurnaan dalam versi 1.*:
Hapus dependensi pada desainer Visual Studio dan SSIS. Tugas build dapat berjalan di agen yang dihosting Microsoft atau agen yang dihost sendiri dengan OS Windows dan .NET framework 4.6.2 atau yang lebih tinggi.
Tidak perlu menginstal komponen di luar kotak.
Tingkat perlindungan dukungan EncryptionWithPassword dan EncryptionAllWithPassword.
Batasan dan masalah umum
- Tugas Build SSIS versi 1.* tidak mendukung pembangunan proyek SSIS yang berisi paket SSIS dengan tanda tangan digital.
Properti versi 1.* saja
Kata Sandi Proyek
Kata sandi proyek SSIS dan paketnya. Argumen ini hanya valid ketika tingkat perlindungan proyek dan paket SSIS adalah EncryptSensitiveWithPassword atau EncryptAllWithPassword. Untuk model penyebaran paket, semua paket harus berbagi kata sandi yang sama yang ditentukan oleh argumen ini.
Strip Data Sensitif
Konversi tingkat perlindungan proyek SSIS ke DontSaveSensitve jika nilai ini benar. Ketika tingkat perlindungan adalah EncryptSensitiveWithPassword atau EncryptAllWithPassword, argumen Kata Sandi Proyek harus diatur dengan benar. Opsi ini hanya berlaku untuk model penyebaran proyek.
Tugas Penyebaran SSIS
Properti
Jalur sumber
Jalur sumber FILE ISPAC atau SSISDeploymentManifest yang ingin Anda sebarkan. Jalur ini bisa berupa jalur folder atau jalur file.
Tipe tujuan
Jenis tujuan. Saat ini tugas Penyebaran SSIS mendukung dua jenis:
- Sistem File: Sebarkan file SSISDeploymentManifest dan file terkait ke sistem file tertentu. Baik berbagi file lokal maupun Azure didukung.
- SSISDB: Sebarkan file ISPAC ke katalog SSIS tertentu, yang dapat dihosting di SQL Server lokal atau Azure-SSIS Integration Runtime.
Server tujuan
Nama Mesin Database tujuan. Ini bisa menjadi nama SQL Server lokal, Azure SQL Database, atau Azure SQL Managed Instance. Properti ini hanya terlihat ketika jenis tujuan adalah SSISDB.
Jalur tujuan
Jalur folder tujuan tempat file sumber akan disebarkan. Contohnya:
- /SSISDB/<folderName>
- \\<machineName>\<shareFolderName>\<optionalSubfolderName>
Tugas SSIS Deploy akan membuat folder dan subfolder jika tidak ada.
Jenis autentikasi
Jenis autentikasi untuk mengakses server tujuan yang ditentukan. Properti ini hanya terlihat ketika Jenis tujuan adalah SSISDB. Secara umum jenis autentikasi di bawah ini didukung:
- Otentikasi Windows
- Autentikasi SQL Server
- Direktori Aktif - Kata sandi
- Direktori Aktif - Terintegrasi
Tetapi apakah jenis autentikasi tertentu didukung tergantung pada jenis server tujuan dan jenis agen. Matriks dukungan detail tercantum dalam tabel di bawah ini.
Jenis server tujuan | Agen yang di-host Microsoft | Agen yang di-host mandiri |
---|---|---|
SQL Server lokal atau VM | T/A | Otentikasi Windows |
Azure SQL | Autentikasi SQL Server Direktori Aktif - Kata sandi |
Autentikasi SQL Server Direktori Aktif - Kata Sandi Direktori Aktif - Terintegrasi |
Nama domain
Nama domain untuk mengakses sistem file yang ditentukan. Properti ini hanya terlihat ketika Tipe tujuan adalah Sistem File. Anda dapat membiarkannya kosong ketika akun pengguna untuk menjalankan agen yang dihost sendiri telah diberikan akses baca/tulis ke jalur tujuan yang ditentukan.
Nama Pengguna
Nama pengguna untuk mengakses sistem file atau SSISDB yang ditentukan. Properti ini terlihat ketika Jenis tujuan adalah Sistem File atau Jenis autentikasi adalah Autentikasi SQL Server atau Direktori Aktif - Kata Sandi. Anda dapat membiarkannya kosong ketika jenis tujuan adalah sistem file, dan akun pengguna untuk menjalankan agen yang dihost sendiri telah diberikan akses baca/tulis ke jalur tujuan yang ditentukan.
Kata sandi
Kata sandi untuk mengakses sistem file atau SSISDB yang ditentukan. Properti ini terlihat ketika jenis tujuan adalah sistem file atau jenis autentikasi adalah autentikasi SQL Server atau Direktori Aktif - kata sandi. Anda dapat membiarkannya kosong ketika jenis tujuan adalah sistem file, dan akun pengguna untuk menjalankan agen yang dihost sendiri telah diberikan akses baca/tulis ke jalur tujuan yang ditentukan.
Timpa proyek yang ada atau file SSISDeploymentManifest dengan nama yang sama
Tentukan apakah menimpa proyek yang ada atau file SSISDeploymentManifest dengan nama yang sama. Jika 'Tidak', tugas Penyebaran SSIS akan melompati penyebaran proyek atau file tersebut.
Lanjutkan penyebaran saat kesalahan terjadi
Tentukan apakah akan melanjutkan penyebaran untuk proyek atau file yang tersisa saat terjadi kesalahan. Jika 'Tidak', tugas SSIS Deploy akan segera berhenti ketika kesalahan terjadi.
Batasan dan masalah umum
Tugas Penyebaran SSIS saat ini tidak mendukung skenario berikut:
- Mengonfigurasi lingkungan di katalog SSIS.
- Menyebarkan ISPAC ke Azure SQL Server atau Azure SQL Managed Instance, yang hanya memungkinkan autentikasi multifaktor.
- Menyebarkan paket ke MSDB atau Penyimpanan Paket SSIS.
- Jika Anda menginstal ekstensi SSIS DevOps Tools di Azure DevOps Server, Anda mungkin melihat pesan "Ukuran paket ekstensi melebihi ukuran paket maksimum." Untuk mengatasi masalah ini, selesaikan langkah-langkah berikut:
- Koneksi ke instans SQL Server lokal dan pilih database Gallery_Configuration.
- Jalankan kueri
INSERT INTO dbo.tbl_RegistryItems VALUES (1,'#\Configuration\Service\Gallery\LargeExtensionUpload\SSIS\','MaxPackageSizeMB\',50)
. Ubah50
ke angka yang lebih tinggi jika ekstensi lebih besar dari 50 MB. - Setelah Anda menjalankan kueri, mulai ulang Layanan Informasi Internet. Coba lagi untuk mengunggah ekstensi.
- Jika kesalahan berlanjut, silakan hubungi tim dukungan SQL Server.
SSIS Sebarkan tugas versi 1.*
Penyempurnaan dalam versi 1.*:
- Tingkat perlindungan dukungan EncryptionWithPassword dan EncryptionAllWithPassword.
Properti versi 1.* saja
Kata Sandi Proyek
Kata sandi untuk mendekripsi file ISPAC atau DTSX. Argumen ini hanya valid ketika tingkat perlindungan adalah EncryptSensitiveWithPassword atau EncryptAllWithPassword.
Tugas Konfigurasi Katalog SSIS
Properti
Sumber file konfigurasi
Sumber file JSON konfigurasi katalog SSIS. Ini bisa menjadi "Jalur file" atau "Sebaris".
Lihat detail tentang cara menentukan konfigurasi JSON:
- Lihat contoh konfigurasi sebaris JSON.
- Periksa skema JSON.
Jalur file JSON konfigurasi
Jalur file JSON konfigurasi katalog SSIS. Properti ini hanya terlihat saat memilih "Jalur file" sebagai sumber file konfigurasi.
Untuk menggunakan variabel alur dalam file JSON konfigurasi, Anda perlu menambahkan tugas Transformasi File sebelum tugas ini mengganti nilai konfigurasi dengan variabel alur. Untuk informasi selengkapnya, lihat Substitusi variabel JSON.
Konfigurasi sebaris JSON
JSON sebaris dari konfigurasi katalog SSIS. Properti ini hanya terlihat saat memilih "Sebaris" sebagai sumber file konfigurasi. Variabel alur dapat langsung digunakan.
Konfigurasi gulung balik saat terjadi kesalahan
Apakah akan mengembalikan konfigurasi yang dibuat oleh tugas ini ketika terjadi kesalahan.
Server target
Nama Mesin Database target. Ini bisa menjadi nama SQL Server lokal, Azure SQL Database, atau Azure SQL Managed Instance.
Jenis autentikasi
Jenis autentikasi untuk mengakses server target yang ditentukan. Secara umum jenis autentikasi di bawah ini didukung:
- Otentikasi Windows
- Autentikasi SQL Server
- Direktori Aktif - Kata sandi
- Direktori Aktif - Terintegrasi
Tetapi apakah jenis autentikasi tertentu didukung tergantung pada jenis server tujuan dan jenis agen. Matriks dukungan detail tercantum dalam tabel di bawah ini.
Jenis server tujuan | Agen yang di-host Microsoft | Agen yang di-host mandiri |
---|---|---|
SQL Server lokal atau VM | T/A | Otentikasi Windows |
Azure SQL | Autentikasi SQL Server Direktori Aktif - Kata sandi |
Autentikasi SQL Server Direktori Aktif - Kata Sandi Direktori Aktif - Terintegrasi |
Nama Pengguna
Nama pengguna untuk mengakses SQL Server target. Properti ini hanya terlihat ketika Jenis autentikasi adalah Autentikasi SQL Server atau Direktori Aktif - Kata Sandi.
Kata sandi
Kata sandi untuk mengakses SQL Server target. Properti ini hanya terlihat ketika Jenis autentikasi adalah Autentikasi SQL Server atau Direktori Aktif - Kata Sandi.
Tentukan konfigurasi JSON
Skema JSON konfigurasi memiliki tiga lapisan:
- katalog
- folder
- proyek dan lingkungan
Contoh konfigurasi sebaris JSON
{
"folders": [
{
"name": "devopsdemo",
"description": "devops demo folder",
"projects": [
{
"name": "catalog devops",
"parameters": [
{
"name": "password",
"container": "Package.dtsx",
"value": "passwd",
"valueType": "referenced"
},
{
"name": "serverName",
"container": "catalog devops",
"value": "localhost",
"valueType": "literal"
}
],
"references": [
{
"environmentName": "test",
"environmentFolder": "devopsdemo"
},
{
"environmentName": "test",
"environmentFolder": "."
}
]
}
],
"environments": [
{
"name": "test",
"description": "test",
"variables": [
{
"name": "passwd",
"type": "string",
"description": "",
"value": "$(SSISDBServerAdminPassword)",
"sensitive": true
},
{
"name": "serverName",
"type": "string",
"description": "",
"value": "$(TargetServerName)",
"sensitive": false
}
]
}
]
}
]
}
Skema JSON
Atribut Katalog
Properti | Deskripsi | Catatan |
---|---|---|
Folder | Array objek folder. Setiap objek berisi informasi konfigurasi untuk folder katalog. | Lihat Atribut Folder untuk skema objek folder. |
Atribut Folder
Properti | Deskripsi | Catatan |
---|---|---|
nama | Nama folder katalog. | Folder akan dibuat jika tidak ada. |
description | Deskripsi folder katalog. | Nilai null akan dilewati. |
projects | Array objek proyek. Setiap objek berisi informasi konfigurasi untuk proyek. | Lihat Atribut Proyek untuk skema objek proyek. |
environments | Array objek lingkungan. Setiap objek berisi informasi konfigurasi untuk lingkungan. | Lihat Atribut Lingkungan untuk skema objek lingkungan. |
Atribut Proyek
Properti | Deskripsi | Catatan |
---|---|---|
nama | Nama proyek. | Objek proyek akan dilewati jika proyek tidak ada di folder induk. |
parameter | Array objek parameter. Setiap objek berisi informasi konfigurasi untuk parameter. | Lihat Atribut Parameter skema objek parameter. |
referensi | Array objek referensi. Setiap objek mewakili referensi lingkungan ke proyek target. | Lihat Atribut Referensi untuk skema objek referensi. |
Atribut Parameter
Properti | Deskripsi | Catatan |
---|---|---|
nama | Nama parameter. | |
kontainer | Kontainer parameter. | |
value | Nilai parameter. | |
valueType | Jenis nilai parameter. | Jenis yang valid adalah: literal: Atribut nilai mewakili nilai harfiah. dirujuk: Atribut nilai mewakili referensi ke variabel lingkungan. |
Atribut Referensi
Properti | Deskripsi | Catatan |
---|---|---|
environmentFolder | Nama folder lingkungan. | Folder akan dibuat jika tidak ada. Nilai dapat berupa ".", yang mewakili folder induk proyek, yang mereferensikan lingkungan. |
environmentName | Nama lingkungan yang dirujuk. | Lingkungan yang ditentukan akan dibuat jika tidak ada. |
Atribut Lingkungan
Properti | Deskripsi | Catatan |
---|---|---|
nama | Nama lingkungan. | Lingkungan akan dibuat jika tidak ada. |
description | Deskripsi lingkungan. | Nilai null akan dilewati. |
variabel | Array objek variabel. | Setiap objek berisi informasi konfigurasi untuk variabel lingkungan.lihat Atribut Variabel untuk skema objek variabel. |
Atribut Variabel
Properti | Deskripsi | Catatan |
---|---|---|
nama | Nama variabel lingkungan. | Variabel lingkungan akan dibuat jika tidak ada. |
jenis | Jenis data variabel lingkungan. | Jenis yang valid adalah: Boolean byte datetime Desimal Double int16 int32 int64 sbyte tunggal string uint32 uint64 |
description | Deskripsi variabel lingkungan. | Nilai null akan dilewati. |
value | Nilai variabel lingkungan. | Atribut ini mendukung nilai JSON boolean, angka, dan string yang valid. Nilai akan dikonversi ke jenis yang ditentukan oleh atribut jenis . Kesalahan akan terjadi jika konversi gagal. Nilai null tidak valid. Tugas akan melewati objek variabel lingkungan ini, dan memberikan peringatan. |
Sensitif | Apakah nilai variabel lingkungan sensitif. | Input yang valid adalah: benar salah |
Catatan rilis
Versi 1.0.6
Tanggal Rilis: 1 September 2021
- Rilis Ketersediaan Umum (GA).
Versi 1.0.5
Tanggal Rilis: 2 Juni 2021
- Memperbaiki masalah yang terkadang SSIS Build Task versi 1.* gagal membangun proyek/paket dengan tingkat perlindungan EncryptSensitiveWithPassword atau EncryptAllWithPassword dengan kesalahan "Vektor inisialisasi yang ditentukan (IV) tidak cocok dengan ukuran blok untuk algoritma ini."
- Menghapus konten JSON di log tugas Konfigurasi Katalog SSIS saat "Sumber file konfigurasi" adalah "Jalur File".
Versi 1.0.4
Tanggal Rilis: 21 April 2021
- Tugas Build SSIS versi 1.* (Pratinjau)
- Hapus dependensi pada desainer Visual Studio dan SSIS. Tugas build dapat berjalan di agen yang dihosting Microsoft atau agen yang dihost sendiri dengan OS Windows dan .NET framework 4.6.2 atau yang lebih tinggi.
- Tidak perlu menginstal komponen di luar kotak.
- Tingkat perlindungan dukungan EncryptionWithPassword dan EncryptionAllWithPassword.
- SSIS Sebarkan tugas versi 1.* (Pratinjau)
- Tingkat perlindungan dukungan EncryptionWithPassword dan EncryptionAllWithPassword.
Versi 1.0.3
Tanggal Rilis: 21 Oktober 2020
- Izinkan menentukan akhiran string koneksi untuk tugas Penyebaran SSIS dan tugas Konfigurasi Katalog SSIS.
Versi 1.0.2
Tanggal Rilis: 26 Mei 2020
- Memperbaiki masalah bahwa tugas Konfigurasi Katalog SSIS mungkin gagal dalam beberapa kasus setelah pekerjaan konfigurasi selesai.
Versi 1.0.1
Tanggal Rilis: 9 Mei 2020
- Memperbaiki masalah bahwa tugas Build SSIS selalu membangun seluruh solusi meskipun hanya satu file dtproj yang ditentukan sebagai jalur proyek.
Versi 1.0.0
Tanggal Rilis: 8 Mei 2020
- Rilis Ketersediaan Umum (GA).
- Menambahkan pembatasan versi .NET framework minimum pada agen. Saat ini versi kerangka kerja .NET minimum adalah 4.6.2.
- Deskripsi yang disempurnakan tentang tugas Build SSIS dan tugas Penyebaran SSIS.
Pratinjau Versi 0.2.0
Tanggal Rilis: 31 Maret 2020
- Tambahkan tugas Konfigurasi Katalog SSIS.
Pratinjau Versi 0.1.3
Tanggal Rilis: 19 Januari 2020
- Memperbaiki masalah yang mencegah ispac disebarkan jika nama file aslinya diubah.
Pratinjau Versi 0.1.2
Tanggal Rilis: 13 Januari 2020
- Menambahkan informasi pengecualian yang lebih rinci di log tugas Penyebaran SSIS saat jenis tujuan adalah SSISDB.
- Memperbaiki contoh jalur tujuan dalam teks bantuan dari jalur Tujuan properti tugas Penyebaran SSIS.
Pratinjau Versi 0.1.1
Tanggal Rilis: 6 Januari 2020
- Menambahkan pembatasan persyaratan versi agen minimal. Saat ini versi agen minimal dari produk ini adalah 2.144.0.
- Memperbaiki beberapa teks tampilan yang salah untuk tugas Penyebaran SSIS.
- Menyempurnakan beberapa pesan kesalahan.
Pratinjau Versi 0.1.0
Tanggal Rilis: 5 Desember 2019
Rilis awal SSIS DevOps Tools. Ini adalah rilis pratinjau.
Langkah berikutnya
- Mendapatkan ekstensi SSIS DevOps