Bagikan melalui


Memecahkan Masalah SQL Server Integration Services Scale Out

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

Peluasan Skala SSIS melibatkan komunikasi di antara database SSISDBKatalog SSIS, layanan Scale Out Master, dan layanan Scale Out Worker. Terkadang komunikasi ini terputus karena kesalahan konfigurasi, kurangnya izin akses, dan alasan lainnya. Artikel ini membantu Anda memecahkan masalah dengan konfigurasi Peluasan Skala Anda.

Untuk menyelidiki gejala yang Anda temui, ikuti langkah-langkah di bawah ini satu per satu hingga masalah Anda teratasi.

Master Peluasan Skala gagal

Gejala

  • Scale Out Master tidak dapat tersambung ke SSISDB.

  • Properti master tidak dapat ditampilkan di Scale Out Manager.

  • Properti master tidak diisi dalam tampilan [catalog].[master_properties].

Solusi

  1. Periksa apakah Peluasan Skala diaktifkan.

    Di SSMS, di Object Explorer, klik kanan SSISDB dan periksa fitur Peluasan Skala diaktifkan.

    Apakah Peluasan Skala diaktifkan

    Jika nilai properti false, aktifkan Peluasan Skala dengan memanggil prosedur [catalog].[enable_scaleout]tersimpan .

  2. Periksa apakah nama SQL Server yang ditentukan dalam file konfigurasi Scale Out Master sudah benar, dan mulai ulang layanan Scale Out Master.

Scale Out Worker gagal

Gejala

  • Scale Out Worker tidak dapat tersambung ke Scale Out Master.

  • Scale Out Worker tidak ditampilkan setelah menambahkannya di Scale Out Manager.

  • Scale Out Worker tidak ditampilkan dalam tampilan [catalog].[worker_agents].

  • Layanan Scale Out Worker sedang berjalan, tetapi Scale Out Worker offline.

Solusi

Periksa pesan kesalahan di log layanan Scale Out Worker di bawah \<drive\>:\Users\\*[account running worker service]*\AppData\Local\SSIS\Cluster\Agent.

Tidak ada titik akhir yang mendengarkan

Gejala

"System.ServiceModel.EndpointNotFoundException: Tidak ada titik akhir yang mendengarkan di https://[MachineName]:[Port]/ClusterManagement/ yang dapat menerima pesan."

Solusi

  1. Periksa apakah nomor port yang ditentukan dalam file konfigurasi layanan Scale Out Master sudah benar, dan mulai ulang layanan Scale Out Master.

  2. Periksa apakah titik akhir master yang ditentukan dalam konfigurasi layanan Scale Out Worker sudah benar, dan mulai ulang layanan Scale Out Worker.

  3. Periksa apakah port firewall terbuka pada node Scale Out Master.

  4. Atasi masalah koneksi lainnya antara node Scale Out Master dan node Scale Out Worker.

Tidak dapat membangun hubungan kepercayaan

Gejala

""System.ServiceModel.Security.SecurityNegotiationException: Tidak dapat membangun hubungan kepercayaan untuk saluran aman SSL/TLS dengan otoritas '[Nama Mesin]:[Port]'."

"System.Net.WebException: Koneksi yang mendasar ditutup: Tidak dapat membangun hubungan kepercayaan untuk saluran aman SSL/TLS."

"System.Security.Authentication.AuthenticationException: Sertifikat jarak jauh tidak valid sesuai dengan prosedur validasi."

Solusi

  1. Instal sertifikat Scale Out Master ke penyimpanan sertifikat Akar komputer lokal pada simpul Scale Out Worker, jika sertifikat belum diinstal, dan mulai ulang layanan Scale Out Worker.

  2. Periksa apakah nama host di titik akhir master disertakan dalam CN sertifikat Scale Out Master. Jika tidak, reset titik akhir master dalam file konfigurasi Scale Out Worker, dan mulai ulang layanan Scale Out Worker.

    Catatan

    Jika tidak dimungkinkan untuk mengubah nama host titik akhir master karena pengaturan DNS, Anda harus mengubah sertifikat Master Scale Out. Lihat Mengelola sertifikat untuk Peluasan Skala SSIS.

  3. Periksa apakah thumbprint master yang ditentukan dalam konfigurasi Scale Out Worker cocok dengan thumbprint sertifikat Scale Out Master.

Tidak dapat membuat saluran aman

Gejala

"System.ServiceModel.Security.SecurityNegotiationException: Tidak dapat membuat saluran aman untuk SSL/TLS dengan otoritas '[Nama Mesin]:[Port]'."

"System.Net.WebException: Permintaan dibatalkan: Tidak dapat membuat saluran aman SSL/TLS."

Solusi

Periksa apakah akun yang menjalankan layanan Scale Out Worker memiliki akses ke sertifikat Scale Out Worker dengan menjalankan perintah berikut:

winhttpcertcfg.exe -l -c LOCAL_MACHINE\MY -s {CN of the worker certificate}

Jika akun tidak memiliki akses, berikan akses dengan menjalankan perintah berikut, dan mulai ulang layanan Scale Out Worker.

winhttpcertcfg.exe -g -c LOCAL_MACHINE\My -s {CN of the worker certificate} -a {the account running Scale Out Worker service}

Permintaan HTTP dilarang

Gejala

"System.ServiceModel.Security.MessageSecurityException: Permintaan HTTP dilarang dengan skema autentikasi klien 'Anonim'."

"System.Net.WebException: Server jarak jauh mengembalikan kesalahan: (403) Terlarang."

Solusi

  1. Instal sertifikat Scale Out Worker ke penyimpanan sertifikat Akar komputer lokal pada node Scale Out Master, jika sertifikat belum diinstal, dan mulai ulang layanan Scale Out Worker.

  2. Bersihkan sertifikat yang tidak berguna di penyimpanan sertifikat Akar komputer lokal pada node Scale Out Master.

  3. Konfigurasikan Schannel untuk tidak lagi mengirim daftar otoritas sertifikasi akar tepercaya selama proses jabat tangan TLS/SSL dengan menambahkan entri registri berikut pada simpul Scale Out Master.

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

    Nama nilai: SendTrustedIssuerList

    Jenis nilai: REG_DWORD

    Data nilai: 0 (False)

  4. Jika tidak dimungkinkan untuk membersihkan semua sertifikat yang tidak ditandatangani sendiri seperti yang dijelaskan di langkah 2, atur nilai kunci registri berikut ke 2.

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

    Nama nilai: ClientAuthTrustMode

    Jenis nilai: REG_DWORD

    Data nilai: 2

    Catatan

    Jika Anda memiliki sertifikat yang tidak ditandatangani sendiri di penyimpanan sertifikat Akar, autentikasi sertifikat klien gagal. Untuk informasi selengkapnya, lihat Internet Information Services (IIS) 8 dapat menolak permintaan sertifikat klien dengan kesalahan HTTP 403.7 atau 403.16.

Kesalahan permintaan HTTP

Gejala

"System.ServiceModel.CommunicationException: Terjadi kesalahan saat membuat permintaan HTTP ke https://[Nama Mesin]:[Port]/ClusterManagement/. Ini bisa disebabkan oleh fakta bahwa sertifikat server tidak dikonfigurasi dengan benar dengan HTTP.SYS dalam kasus HTTPS. Ini juga bisa disebabkan oleh ketidakcocokan pengikatan keamanan antara klien dan server."

Solusi

  1. Periksa apakah sertifikat Master Scale Out terikat ke port di titik akhir master dengan benar pada simpul master dengan menjalankan perintah berikut:

    netsh http show sslcert ipport=0.0.0.0:{Master port}
    

    Periksa apakah hash sertifikat yang ditampilkan cocok dengan thumbprint sertifikat Scale Out Master. Jika pengikatan tidak benar, reset pengikatan dengan menjalankan perintah berikut, dan mulai ulang layanan Scale Out Worker.

    netsh http delete sslcert ipport=0.0.0.0:{Master port}
    netsh http add sslcert ipport=0.0.0.0:{Master port} certhash={Master certificate thumbprint} certstorename=Root  appid={random guid}
    

Tidak dapat membuka penyimpanan sertifikat

Gejala

Validasi gagal saat menyambungkan Scale Out Worker ke Scale Out Master di Scale Out Manager dengan pesan kesalahan, "Tidak dapat membuka penyimpanan sertifikat pada komputer."

Solusi

  1. Jalankan Scale Out Manager sebagai administrator. Jika Anda membuka Scale Out Manager dengan SSMS, Anda harus menjalankan SSMS sebagai administrator.

  2. Mulai layanan Remote Registry pada komputer jika tidak berjalan.

Eksekusi tidak dimulai

Gejala

Eksekusi dalam Peluasan Skala tidak dimulai.

Solusi

Periksa status komputer yang Anda pilih untuk menjalankan paket dalam tampilan [catalog].[worker_agents]. Setidaknya satu pekerja harus online dan diaktifkan.

Tidak ada log

Gejala

Paket berhasil dijalankan, tetapi tidak ada pesan yang dicatat.

Solusi

Periksa apakah Autentikasi SQL Server diizinkan oleh instans SQL Server yang menghosting SSISDB.

Catatan

Jika Anda telah mengubah akun untuk pengelogan Peluasan Skala, lihat Mengubah Akun untuk Pengelogan Peluasan Skala dan verifikasi string koneksi yang digunakan untuk pengelogan.

Pesan kesalahan tidak berguna

Gejala

Pesan kesalahan dalam laporan eksekusi paket tidak cukup untuk pemecahan masalah.

Solusi

Log eksekusi lainnya dapat ditemukan di bawah yang dikonfigurasi TasksRootFolder di WorkerSettings.config. Secara default, folder ini adalah \<drive\>:\Users\\[account]\AppData\Local\SSIS\ScaleOut\Tasks. [akun] adalah akun yang menjalankan layanan Scale Out Worker, dengan nilai SSISScaleOutWorker140default .

Untuk menemukan log untuk eksekusi paket dengan [ID eksekusi], jalankan perintah Transact-SQL berikut untuk mendapatkan [ID tugas]. Kemudian, temukan nama subfolder yang berisi [ID tugas] di bawah TasksRootFolder.

SELECT [TaskId]
FROM [SSISDB].[internal].[tasks] tasks, [SSISDB].[internal].[executions] executions 
WHERE executions.execution_id = *Your Execution Id* AND tasks.JobId = executions.job_id

Peringatan

Kueri ini hanya untuk tujuan pemecahan masalah. Tampilan internal yang dirujuk dalam kueri akan berubah di masa mendatang.

Langkah berikutnya

Untuk informasi selengkapnya, lihat artikel berikut tentang menyiapkan dan mengonfigurasi Peluasan Skala SSIS: