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".