KB3112363-penyempurnaan untuk dukungan timeout waktu kontrak SQL Server AlwaysOn di SQL Server 2012 dan 2014

Gejala

Pembaruan ini menyertakan penyempurnaan untuk dukungan waktu habis kontrak Microsoft SQL Server AlwaysOn:

  • Pesan waktu habis kontrak kini menampilkan dan mencatat waktu pembaruan waktu dan perkiraan saat ini.

  • Pesan kesalahan baru ditambahkan untuk pekerja kontrak yang dengan jelas menunjukkan alasan untuk kontrak habis waktu.

  • Acara baru yang diperpanjang dan buffer cincin baru untuk pekerja kontrak telah ditambahkan. Ini dengan jelas menunjukkan tahapan kontrak.

Pemecahan Masalah

Masalah pertama kali diperbaiki dalam paket layanan berikut untuk SQL Server.

Untuk informasi selengkapnya tentang SQL Server 2012 Service Pack 3 (SP3), lihat bug yang diperbaiki di SQL server 2012 Service Pack 3.

Paket Layanan 2 untuk SQL Server untuk SQL Server 2014Tentang paket layanan untuk SQL ServerPaket Layanan bersifat kumulatif. Setiap paket layanan baru berisi semua perbaikan yang ada dalam paket layanan sebelumnya, beserta perbaikan baru apa pun. Rekomendasi kami adalah untuk menerapkan paket layanan terbaru dan pembaruan kumulatif terbaru untuk paket layanan tersebut. Anda tidak harus menginstal paket layanan sebelumnya sebelum menginstal paket layanan terbaru. Gunakan tabel 1 dalam artikel berikut ini untuk menemukan informasi selengkapnya tentang paket layanan terbaru dan pembaruan kumulatif terbaru.Cara menentukan versi, edisi dan tingkat pembaruan SQL Server dan komponennya

Informasi Selengkapnya

Untuk memberikan wawasan tambahan, pesan kesalahan baru telah ditambahkan ke SQL Server. Tabel berikut ini mencantumkan dan menjelaskan masing-masing.

Kesalahan

Pesan galat

Penyebab

Tindakan korektif

19419

Pembaruan kontrak antara grup ketersediaan '%. * LS ' dan kluster failover Windows Server gagal karena kontrak yang ada tidak lagi valid.

Pekerja kontrak pada sisi SQL Server tidak dijadwalkan tepat waktu untuk memproses sinyal acara dari kluster.

Periksa utilisasi CPU di server sebagai pekerja kontrak SQL Server tampaknya kelaparan.

19420

Grup ketersediaan '%. * LS ' secara eksplisit diminta untuk menghentikan perpanjangan kontrak.

Perpanjangan kontrak berhenti sebagai bagian dari membawa grup ketersediaan secara offline. Ini hanya informasi.

19421

Perpanjangan kontrak antara grup ketersediaan '%. * LS ' dan kluster failover Windows Server gagal karena pembaruan tidak terjadi dalam interval kontrak.

Helper izin pada sisi kluster tidak menandakan pekerja kontrak SQL Server tepat waktu.

Periksa sumber daya grup ketersediaan terkait di kluster WSFC untuk melihat apakah laporan mengalami kesalahan.

19422

Pembaruan kontrak antara grup ketersediaan '%. * LS ' dan kluster failover Windows Server gagal karena kesalahan Windows dengan kode kesalahan ('% d ').

Pekerja kontrak pada sisi SQL Server gagal untuk memperpanjang kontrak karena kesalahan Windows.

Periksa kode kesalahan Windows dan lakukan tindakan korektif.

19423

Kontrak Penyewaan grup ketersediaan '%. * LS ' sewa tidak lagi valid untuk memulai proses perpanjangan kontrak.

Ketika pekerja kontrak mulai memproses kelebihan waktu kontrak yang diberikan oleh panggilan online, sewa sudah kedaluwarsa. Hal ini mungkin terjadi karena masalah penjadwalan.

Periksa utilisasi CPU di server sebagai pekerja kontrak SQL Server tampaknya kelaparan.

19424

Pekerja kontrak dari grup ketersediaan '%. * LS ' sekarang tidur dengan waktu kontrak berlebih (% u MS) yang disediakan selama online. Ini adalah pesan informasi saja. Tidak ada tindakan pengguna yang diperlukan.

Pengumuman. Waktu online tambahan dialokasikan untuk memulai thread pembaruan kontrak dan sebagai bagian dari rutinitas grup ketersediaan online.

Contoh kesalahan 19419: Jika Anda menggunakan debugger untuk dilampirkan ke SQL Server, debugger mengganggu layanan apa pun dalam proses SQL Server hingga Anda melanjutkan proses SQL Server. Saat Anda melanjutkan SQL Server, berikut ini dilaporkan dalam log kesalahan SQL Server:

<waktu tanggal> Kesalahan Server: 19419, tingkat keparahan: 16, status: 1. <waktu tanggal> Kluster failover Server Windows Server tidak menerima sinyal kejadian proses dari grup ketersediaan hosting SQL Server ' AG ' dalam periode waktu habis kontrak. <waktu tanggal> Kesalahan Server: 19407, tingkat keparahan: 16, status: 1. <waktu tanggal> Server kontrak antara grup ketersediaan ' AG ' dan kluster failover Windows Server telah kedaluwarsa. Masalah konektivitas terjadi antara contoh SQL Server dan kluster failover Windows Server. Untuk menentukan apakah Grup ketersediaan gagal dengan benar, Periksa sumber daya grup ketersediaan terkait di kluster failover Windows Server. <waktu tanggal> Server AlwaysOn: replika lokal grup ketersediaan ' AG ' akan offline karena perpanjangan kontrak kedaluwarsa atau kontrak gagal. Ini adalah pesan informasi saja. Tidak ada tindakan pengguna yang diperlukan. <waktu tanggal> Server status replika lokal ketersediaan dalam grup ketersediaan ' AG ' telah berubah dari ' PRIMARY_NORMAL ' menjadi ' RESOLVING_NORMAL '. Status replika berubah karena startup, failover, masalah komunikasi, atau kesalahan cluster. Untuk informasi selengkapnya, lihat dasbor grup ketersediaan, log kesalahan SQL Server, konsol manajemen kluster failover Windows Server atau log kluster failover Windows Server.

Kesalahan 19419 dikembalikan karena SQL Server tidak merespons ke layanan cluster. Anda juga mungkin menerima pesan kesalahan waktu habis kontrak (19407) bersama dengan kesalahan 19419.Contoh kesalahan 19424: berikut ini adalah kelebihan waktu kontrak yang dilaporkan sebelum grup ketersediaan beralih ke peran utama:

<waktu tanggal> Server pekerja kontrak dari grup ketersediaan ' AG ' sekarang sedang tidur dengan waktu kontrak berlebih (164766 MS) yang disediakan selama online. Ini adalah pesan informasi saja. Tidak ada tindakan pengguna yang diperlukan. <waktu tanggal> Server status replika lokal ketersediaan dalam grup ketersediaan ' AG ' telah berubah dari ' PRIMARY_PENDING ' menjadi ' PRIMARY_NORMAL '. Status replika berubah karena startup, failover, masalah komunikasi, atau kesalahan cluster. Untuk informasi selengkapnya, lihat dasbor grup ketersediaan, log kesalahan SQL Server, konsol manajemen kluster failover Windows Server atau log kluster failover Windows Server.

Availability_group_lease_expired dan hadr_ag_lease_renewal xevents telah disempurnakan, dengan penambahan poin data yang menyediakan informasi selengkapnya tentang kondisi kontrak. Tabel berikut ini menguraikan penyempurnaan XEvents ini:

XEvent

Kolom baru

Deskripsi

availability_group_lease_expired

current_time

Waktu kontrak kedaluwarsa

availability_group_lease_expired

new_timeout

Waktu habis, saat availability_group_lease_expired dinaikkan, current_time lebih besar dari new_timeout

availability_group_lease_expired

status

Tahap kontrak: Lihat tabel tahapan kontrak di bawah ini

hadr_ag_lease_renewal

status

hadr_ag_lease_renewal

hadr_ag_lease_renewal

error_code

Jika status HadrLeaseRenewal_FailedWithWindowsError maka error_code adalah kode kesalahan Windows yang terkait dengan kegagalan

Tahapan dan definisi kontrakTabel berikut ini mencantumkan tahapan Penyewaan yang memungkinkan dan menjelaskan fungsinya:

Nama panggung

Deskripsi

HadrLeaseRenewal_LeaseWorkerStarted

Thread pekerja kontrak dimulai.

HadrLeaseRenewal_StartedExcessLeaseSleep

Mulai kelebihan sewa. Tahapan kontrak kelebihan dokumen mulai thread kontrak selama fase online dari grup ketersediaan.

HadrLeaseRenewal_FailedExcessSleepInvalidOnlineLease

Kami gagal menyewa kelebihan jika kontrak sudah kedaluwarsa.

HadrLeaseRenewal_SkipExcessSleep

Kami melewatkan kelebihan sewa jika durasi yang tersedia untuk tidur kurang dari interval kontrak. Tidak perlu melewati kelebihan sewa saja memulai proses goyangan tangan.

HadrLeaseRenewal_ExcessSleepSucceeded

Kelebihan kontrak berhasil.

HadrLeaseRenewal_RenewSucceeded

Kita akan melihat ini dengan setiap pembaruan.

HadrLeaseRenewal_LeaseNotValid

Sama dengan kesalahan: Kluster failover 19419Windows server tidak menerima sinyal kejadian proses dari grup ketersediaan hosting SQL Server '%. * LS ' dalam periode waktu habis kontrak.

HadrLeaseRenewal_StopLeaseRenewal

Anda akan melihat ini selama acara failover.

HadrLeaseRenewal_LeaseExpired

Sama dengan kesalahan: 19421SQL server hosting grup ketersediaan '%. * LS ' tidak menerima sinyal kejadian proses dari kluster failover Windows Server dalam periode waktu habis kontrak.

HadrLeaseRenewal_FailedWithWindowsError

Perpanjangan kontrak gagal karena kesalahan Windows.

Untuk informasi selengkapnya, lihat menyempurnakan diagnostik waktu kontrak grup ketersediaan AlwaysOn. Untuk informasi selengkapnya tentang batas waktu kontrak, lihat cara kerjanya: batas waktu kontrak SQL Server AlwaysOn.

Status

Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".

Perlu bantuan lainnya?

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung Microsoft Insider

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×