Tutorial: Menyebarkan dan menjalankan paket SQL Server Integration Services (SSIS) di Azure

Berlaku untuk: Integration Runtime SSIS SQL Server di Azure Data Factory

Tutorial ini menunjukkan kepada Anda cara menyebarkan proyek SQL Server Integration Services (SSIS) ke Katalog SSIS di Azure SQL Database, menjalankan paket di Integration Runtime Azure-SSIS, dan memantau paket yang sedang berjalan.

Prasyarat

Sebelum memulai, pastikan Anda memiliki SQL Server Management Studio versi 17.2 atau yang lebih baru. Untuk mengunduh versi terbaru SSMS, lihat Mengunduh SQL Server Management Studio (SSMS).

Pastikan juga Bahwa Anda telah menyiapkan database SSISDB di Azure dan menyediakan azure-SSIS Integration Runtime. Untuk informasi tentang cara memprovisikan SSIS di Azure, lihat Menyebarkan paket layanan integrasi SQL Server ke Azure.

Untuk database Azure SQL, dapatkan info koneksi

Untuk menjalankan paket di Azure SQL Database, dapatkan informasi koneksi yang Anda butuhkan untuk menyambungkan ke database Katalog SSIS (SSISDB). Anda memerlukan nama server dan informasi masuk yang sepenuhnya memenuhi syarat dalam prosedur berikut.

  1. Masuk ke portal Microsoft Azure.
  2. Pilih Database SQL dari menu sebelah kiri, lalu pilih database SSISDB di halaman database SQL .
  3. Pada halaman Gambaran Umum untuk database Anda, tinjau nama server yang sepenuhnya memenuhi syarat. Untuk melihat opsi Klik untuk menyalin , arahkan kursor ke nama server.
  4. Jika Anda lupa informasi masuk server database Azure SQL Anda, navigasikan ke halaman server SQL Database untuk melihat nama admin server. Anda dapat mengatur ulang kata sandi jika perlu.

Menyambungkan ke database SSISDB

Gunakan SQL Server Management Studio untuk menyambungkan ke Katalog SSIS di server database Azure SQL Anda. Untuk informasi dan cuplikan layar selengkapnya, lihat Menyambungkan ke database Katalog SSISDB di Azure.

Berikut adalah dua hal terpenting yang perlu diingat. Langkah-langkah ini dijelaskan dalam prosedur berikut.

  • Masukkan nama server database Azure SQL yang sepenuhnya memenuhi syarat dalam format mysqldbserver.database.windows.net.
  • Pilih SSISDB sebagai database untuk koneksi.

Penting

Server Azure SQL Database mendengarkan di port 1433. Jika Anda mencoba menyambungkan ke server database Azure SQL dari dalam firewall perusahaan, port ini harus terbuka di firewall perusahaan agar Anda berhasil tersambung.

  1. Buka SQL Server Management Studio.

  2. Sambungkan ke server. Dalam kotak dialog Sambungkan ke Server, masukkan informasi berikut ini:

    Pengaturan Nilai yang disarankan Deskripsi
    Jenis server Mesin Database Nilai ini diperlukan.
    Nama server Nama server yang sepenuhnya memenuhi syarat Nama harus dalam format ini: mysqldbserver.database.windows.net. Jika Anda memerlukan nama server, lihat Menyambungkan ke database Katalog SSISDB di Azure.
    Autentikasi Autentikasi SQL Server Anda tidak dapat tersambung ke Azure SQL Database dengan autentikasi Windows.
    Masuk Akun admin server Akun yang Anda tentukan ketika Anda membuat server.
    Kata sandi Kata sandi untuk akun admin server Anda Akun yang Anda tentukan ketika Anda membuat server.
  3. Sambungkan ke database SSISDB. Pilih Opsi untuk memperluas kotak dialog Sambungkan ke Server . Dalam kotak dialog Sambungkan ke Server yang diperluas, pilih tab Properti Koneksi . Di bidang Sambungkan ke database , pilih atau masukkan SSISDB.

  4. Kemudian pilih Sambungkan. Jendela Object Explorer terbuka di SQL Server Management Studio.

  5. Di Object Explorer, perluas Katalog Layanan Integrasi lalu perluas SSISDB untuk melihat objek dalam database Katalog SSIS.

Menyebarkan proyek dengan Wizard Penyebaran

Untuk mempelajari selengkapnya tentang menyebarkan paket dan tentang Panduan Penyebaran, lihat Menyebarkan Proyek dan Paket SSIS danWizard Penyebaran Layanan Integrasi.

Catatan

Penyebaran ke Azure hanya mendukung model penyebaran proyek.

Memulai Wizard Penyebaran Layanan Integrasi

  1. Dalam Object Explorer di SSMS, dengan simpul Katalog Layanan Integrasi dan simpul SSISDB diperluas, perluas folder proyek.

  2. Pilih simpul Proyek .

  3. Klik kanan pada simpul Proyek dan pilih Sebarkan proyek. Wizard Penyebaran Layanan Integrasi terbuka. Anda dapat menyebarkan proyek dari database Katalog SSIS atau dari sistem file.

    Menyebarkan proyek dari SSMS

    Kotak dialog Wizard Penyebaran SSIS terbuka

Menyebarkan proyek dengan Wizard Penyebaran

  1. Pada halaman Pengenalan Wizard Penyebaran, tinjau pengenalan. Pilih Berikutnya untuk membuka halaman Pilih Sumber .

  2. Pada halaman Pilih Sumber , pilih proyek SSIS yang sudah ada untuk disebarkan.

    • Untuk menyebarkan file penyebaran proyek yang Anda buat, pilih File penyebaran proyek dan masukkan jalur ke file .ispac.
    • Untuk menyebarkan proyek yang berada di katalog SSIS, pilih katalog Layanan Integrasi, lalu masukkan nama server dan jalur ke proyek di katalog. Hanya proyek yang berada di SSISDB yang dihosting oleh SQL Server yang dapat disebarkan ulang dalam langkah ini.
    • Pilih Berikutnya untuk melihat halaman Pilih Tujuan .
  3. Pada halaman Pilih Tujuan , pilih tujuan untuk proyek.

    • Masukkan nama server yang sepenuhnya memenuhi syarat dalam format <server_name>.database.windows.net.
    • Berikan informasi autentikasi, lalu pilih Sambungkan.
    • Lalu pilih Telusuri untuk memilih folder target di SSISDB.
    • Lalu pilih Berikutnya untuk membuka halaman Tinjau . (Tombol Berikutnya diaktifkan hanya setelah Anda memilih Sambungkan.)
  4. Pada halaman Tinjau , tinjau pengaturan yang Anda pilih.

    • Anda bisa mengubah pilihan Anda dengan memilih Sebelumnya, atau dengan memilih salah satu langkah di panel kiri.
    • Pilih Sebarkan untuk memulai proses penyebaran.

    Catatan

    Jika Anda mendapatkan pesan kesalahan Tidak ada agen pekerja aktif. (.Net SqlClient Data Provider), pastikan Integration Runtime Azure-SSIS berjalan. Kesalahan ini terjadi jika Anda mencoba menyebarkan saat runtime integrasi Azure-SSIS dalam keadaan berhenti.

  5. Setelah proses penyebaran selesai, halaman Hasil akan terbuka. Halaman ini menampilkan keberhasilan atau kegagalan setiap tindakan.

    • Jika tindakan gagal, pilih Gagal di kolom Hasil untuk menampilkan penjelasan tentang kesalahan.
    • Secara opsional, pilih Simpan Laporan... untuk menyimpan hasil ke file XML.
    • Pilih Tutup untuk keluar dari wizard.

Menyebarkan proyek dengan PowerShell

Untuk menyebarkan proyek dengan PowerShell ke SSISDB di Azure SQL Database, sesuaikan skrip berikut dengan kebutuhan Anda. Skrip menghitung folder anak di bawah $ProjectFilePath dan proyek di setiap folder anak, lalu membuat folder yang sama di SSISDB dan menyebarkan proyek ke folder tersebut.

Skrip ini memerlukan SQL Server Data Tools versi 17.x atau SQL Server Management Studio diinstal pada komputer tempat Anda menjalankan skrip.

# Variables
$ProjectFilePath = "C:\<folder>"
$SSISDBServerEndpoint = "<servername>.database.windows.net"
$SSISDBServerAdminUserName = "<username>"
$SSISDBServerAdminPassword = "<password>"

# Load the IntegrationServices Assembly
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Management.IntegrationServices") | Out-Null;

# Store the IntegrationServices Assembly namespace to avoid typing it every time
$ISNamespace = "Microsoft.SqlServer.Management.IntegrationServices"

Write-Host "Connecting to server ..."

# Create a connection to the server
$sqlConnectionString = "Data Source=" + $SSISDBServerEndpoint + ";User ID="+ $SSISDBServerAdminUserName +";Password="+ $SSISDBServerAdminPassword + ";Initial Catalog=SSISDB"
$sqlConnection = New-Object System.Data.SqlClient.SqlConnection $sqlConnectionString

# Create the Integration Services object
$integrationServices = New-Object $ISNamespace".IntegrationServices" $sqlConnection

# Get the catalog
$catalog = $integrationServices.Catalogs['SSISDB']

write-host "Enumerating all folders..."

$folders = ls -Path $ProjectFilePath -Directory

if ($folders.Count -gt 0)
{
    foreach ($filefolder in $folders)
    {
        Write-Host "Creating Folder " + $filefolder.Name + " ..."

        # Create a new folder
        $folder = New-Object $ISNamespace".CatalogFolder" ($catalog, $filefolder.Name, "Folder description")
        $folder.Create()

        $projects = ls -Path $filefolder.FullName -File -Filter *.ispac
        if ($projects.Count -gt 0)
        {
            foreach($projectfile in $projects)
            {
                $projectfilename = $projectfile.Name.Replace(".ispac", "")
                Write-Host "Deploying " + $projectfilename + " project ..."

                # Read the project file, and deploy it to the folder
                [byte[]] $projectFileContent = [System.IO.File]::ReadAllBytes($projectfile.FullName)
                $folder.DeployProject($projectfilename, $projectFileContent)
            }
        }
    }
}

Write-Host "All done." 

Menjalankan paket

  1. Di Object Explorer di SSMS, pilih paket yang ingin Anda jalankan.

  2. Klik kanan dan pilih Jalankan untuk membuka kotak dialog Jalankan Paket .

  3. Dalam kotak dialog Jalankan Paket , konfigurasikan eksekusi paket dengan menggunakan pengaturan pada tab Parameter, Pengelola Koneksi, dan Tingkat Lanjut .

  4. Pilih OK untuk menjalankan paket.

Memantau paket yang sedang berjalan di SSMS

Untuk melihat status operasi Layanan Integrasi yang sedang berjalan di server Layanan Integrasi, seperti penyebaran, validasi, dan eksekusi paket, gunakan kotak dialog Operasi Aktif di SSMS. Untuk membuka kotak dialog Operasi Aktif , klik kanan SSISDB, lalu pilih Operasi Aktif.

Anda juga dapat memilih paket di Object Explorer, klik kanan dan pilih Laporan, lalu Laporan Standar, lalu Semua Eksekusi.

Untuk informasi selengkapnya tentang cara memantau paket yang sedang berjalan di SSMS, lihat Memantau Paket yang Berjalan dan Operasi Lainnya.

Memantau aktivitas Jalankan Paket SSIS

Jika Anda menjalankan paket sebagai bagian dari alur Azure Data Factory dengan aktivitas Jalankan Paket SSIS, Anda dapat memantau eksekusi alur di UI Data Factory. Kemudian Anda bisa mendapatkan ID eksekusi SSISDB dari output aktivitas yang dijalankan, dan menggunakan ID untuk memeriksa log eksekusi yang lebih komprehensif dan pesan kesalahan di SSMS.

Mendapatkan ID eksekusi paket di Data Factory

Memantau Integration Runtime Azure-SSIS

Untuk mendapatkan info status tentang Integration Runtime Azure-SSIS tempat paket berjalan, gunakan perintah PowerShell berikut ini. Untuk setiap perintah, berikan nama Data Factory, Runtime integrasi Azure-SSIS, dan grup sumber daya.

Untuk informasi selengkapnya, lihat Memantau runtime integrasi Azure-SSIS.

Mendapatkan metadata tentang Integration Runtime Azure-SSIS

Get-AzDataFactoryV2IntegrationRuntime -DataFactoryName $DataFactoryName -Name $AzureSsisIRName -ResourceGroupName $ResourceGroupName

Mendapatkan status Integration Runtime Azure-SSIS

Get-AzDataFactoryV2IntegrationRuntime -Status -DataFactoryName $DataFactoryName -Name $AzureSsisIRName -ResourceGroupName $ResourceGroupName

Langkah berikutnya