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 SSISDB
Katalog 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
Periksa apakah Peluasan Skala diaktifkan.
Di SSMS, di Object Explorer, klik kanan SSISDB dan periksa fitur Peluasan Skala diaktifkan.
Jika nilai properti false, aktifkan Peluasan Skala dengan memanggil prosedur
[catalog].[enable_scaleout]
tersimpan .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
Periksa apakah nomor port yang ditentukan dalam file konfigurasi layanan Scale Out Master sudah benar, dan mulai ulang layanan Scale Out Master.
Periksa apakah titik akhir master yang ditentukan dalam konfigurasi layanan Scale Out Worker sudah benar, dan mulai ulang layanan Scale Out Worker.
Periksa apakah port firewall terbuka pada node Scale Out Master.
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
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.
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.
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
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.
Bersihkan sertifikat yang tidak berguna di penyimpanan sertifikat Akar komputer lokal pada node Scale Out Master.
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)
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
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
Jalankan Scale Out Manager sebagai administrator. Jika Anda membuka Scale Out Manager dengan SSMS, Anda harus menjalankan SSMS sebagai administrator.
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 SSISScaleOutWorker140
default .
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:
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk