KB5010786 - Pembaruan Kumulatif 29 untuk SQL Server 2017
Tanggal Rilis:
30/03/2022
Versi:
14.0.3436.1
Ringkasan
Artikel ini menguraikan paket Pembaruan Kumulatif 29 (CU29) untuk Microsoft SQL Server 2017. Pembaruan ini berisi 16 perbaikan yang dikeluarkan setelah rilis SQL Server 2017 Pembaruan Kumulatif 28, dan memperbarui komponen ke build berikut:
-
SQL Server - Versi produk: 14.0.3436.1, versi file: 2017.140.3436.1
-
Analysis Services - Versi produk: 14.0.249.90, versi file: 2017.140.249.90
Masalah umum dalam pembaruan ini
Tidak ada masalah umum dalam pembaruan kumulatif ini.
Penyempurnaan dan perbaikan yang disertakan dalam pembaruan kumulatif ini
Buku kerja Excel yang dapat diunduh yang berisi daftar ringkasan build, bersama dengan siklus hidup dukungan mereka saat ini, tersedia. File Excel juga berisi daftar perbaikan mendetail untuk SQL Server 2019 dan SQL Server 2017. Klik untuk mengunduh file Excel ini sekarang.
Catatan:Â Entri individual dalam tabel berikut ini bisa dirujuk secara langsung melalui bookmark. Jika Anda memilih ID referensi bug apa pun dalam tabel, Anda akan melihat bahwa tag bookmark ditambahkan ke URL menggunakan format ini: #bkmk_NNNNNNNN. Anda kemudian dapat berbagi URL ini dengan orang lain sehingga mereka dapat langsung menuju perbaikan yang diinginkan dalam tabel.
Referensi bug |
Nomor artikel KB |
Deskripsi |
Area perbaikan |
Platform |
|
---|---|---|---|---|---|
Kesalahan terjadi setelah kegagalan Grup Ketersediaan Terdistribusi (AG) yang berusaha menyambungkan ke pendengar AG sekunder dengan tujuan aplikasi diatur ke BACA SAJA. Berikut adalah kemungkinan pesan kesalahan:
|
Ketersediaan Tinggi |
Windows |
|||
Acara AlwaysOn_Health diperpanjang tidak diatur STARTUP_STATE ke AKTIF setelah menginstal Pembaruan Kumulatif SQL Server. |
Ketersediaan Tinggi |
Windows |
|||
Proses pemulihan database dipilih sebagai korban kebuntuan pada failover Availability Group (AG) dalam keadaan tertentu. Pesan kesalahan berikut ini dihasilkan: <DateTime> Error: 1205, Keparahan: 13, State: 51. |
Ketersediaan Tinggi |
Windows |
|||
Meningkatkan waktu respons utilitas Sqldumpr.exe ketika objek dalam memori digunakan dalam SQL Server atau setelah ada. |
OLTP In-Memory |
Semua |
|||
Mendukung operasi pembersihan dan penggabungan yang lebih fleksibel dengan mengubah In-Memory selama operasi pemulihan. |
OLTP In-Memory |
Windows |
|||
5008296 |
Mesin SQL |
Windows |
|||
5013181 |
MEMPERBAIKI: Langganan masih aktif setelah periode penyimpanan distribusi kedaluwarsa |
Mesin SQL |
Windows |
||
5013207 |
MEMPERBAIKI: Python rusak setelah pemutakhiran runtime ke Python 3.7 |
Mesin SQL |
Windows |
||
Indeks yang difilter menjadi rusak setelah Anda meletakkan kolom terkomputasi pada tabel yang sama, dan kerusakan indeks yang difilter dilaporkan sebagai kesalahan 8951 dan 8955 saat Anda menjalankan DBCC CHECKTABLE WITH EXTENDED_LOGICAL_CHECKS. |
Mesin SQL |
Windows |
|||
Pelanggaran akses terjadi ketika Anda menggunakan FileTables di SQL Server 2017. |
Mesin SQL |
Windows |
|||
Kueri terhadap tampilan manajemen dinamis (DMV) sys.dm_os_ring_buffers dapat menyebabkan pelanggaran akses (AV). |
Mesin SQL |
Semua |
|||
Pembuangan pelanggaran akses terjadi ketika kueri berjalan untuk waktu yang lama secara paralel dan mencoba menentukan versi grup baris agar transaksi tertentu dapat dibaca. |
Mesin SQL |
Semua |
|||
Memulihkan dari cadangan terkompresi yang berisi konten filestream terkadang gagal ketika pemulihan dijalankan dengan menggunakan klien Antarmuka Perangkat Virtual (VDI). Pesan kesalahan berikut ini dihasilkan: Msg 3241 |
Mesin SQL |
Windows |
|||
Melintasi rantai IAM yang panjang dapat menyebabkan penjadwal yang tidak menghasilkan dan dump terkait. |
Mesin SQL |
Windows |
|||
Fungsi Bernilai Tabel (TVF) melewatkan panggilan paket eksekusi jika TVF yang sama dirujuk lebih dari sekali dalam kueri SQL yang sama. |
Kinerja SQL |
Windows |
|||
Tampilan, yang dibuat dalam tabel yang memiliki indeks XML, tidak dapat mengembalikan hasil yang benar karena hilangnya '%' dalam predikat LIKE pada kolom yang tersembunyi untuk tabel xml_index_nodes . |
XML |
Semua |
Cara mendapatkan atau mengunduh paket pembaruan kumulatif ini atau terbaru
Pembaruan berikut tersedia dari Pusat Unduhan Microsoft:
Unduh paket pembaruan kumulatif terbaru untuk SQL Server 2017 sekarang
Jika halaman unduhan tidak muncul, hubungi Microsoft Layanan Pelanggan dan Dukungan untuk mendapatkan paket pembaruan kumulatif.
Catatan:Â Setelah pembaruan kumulatif yang akan datang dirilis untuk SQL Server 2017, ini dan semua CUs sebelumnya dapat diunduh dari Katalog Pembaruan Microsoft. Namun, kami menyarankan agar Anda selalu menginstal pembaruan kumulatif terbaru yang tersedia.
Pembaruan berikut ini tersedia dari Katalog Pembaruan Microsoft:
Unduh paket pembaruan kumulatif untuk SQL Server 2017 CU 29 sekarang
Untuk memperbarui Linux ke CU terbaru, Anda harus terlebih dahulu mengonfigurasi repository Pembaruan Kumulatif. Kemudian, perbarui paket SQL Server Anda dengan menggunakan perintah pembaruan khusus platform yang sesuai.
Untuk instruksi penginstalan dan tautan langsung ke unduhan paket CU, lihat catatan rilis.
Informasi berkas
Anda dapat memverifikasi unduhan dengan menghitung hash file SQLServer2017-KB5010786-x64.exe melalui perintah berikut:
certutil -hashfile SQLServer2017-KB5010786-x64.exe SHA256
Nama file |
Hash SHA256 |
---|---|
SQLServer2017-KB5010786-x64.exe |
B610787064A85C1C25B014D7D8DE9EB20DC7AFB272CFB2D3002BA6653E31D662 |
Versi bahasa Inggris dari paket ini memiliki atribut file (atau atribut file yang lebih baru) yang tercantum dalam tabel berikut ini. Tanggal dan waktu untuk file ini tercantum dalam Waktu Universal Terkoordinasi (UTC). Saat melihat informasi berkas, waktu akan diubah ke waktu lokal. Untuk menemukan perbedaan antara UTC dan waktu setempat, gunakan tab Zona Waktu dalam item Tanggal dan Waktu di Panel Kontrol.
versi berbasis x64 SQL Server 2017 Analysis Services
SQL Server 2017 Database Services Common Core
SQL Server 2017 Data Quality Client
Kualitas Data SQL Server 2017
SQL Server 2017 sql_dreplay_client
sql_dreplay_controller SQL Server 2017
Instans Inti Layanan Database SQL Server 2017
SQL Server 2017 Database Services Core Shared
sql_extensibility SQL Server 2017
Mesin Full-Text SQL Server 2017
sql_inst_mr SQL Server 2017
Layanan Integrasi SQL Server 2017
sql_polybase_core_inst SQL Server 2017
sql_shared_mr SQL Server 2017
sql_tools_extensions SQL Server 2017
|
Catatan untuk pembaruan ini
Untuk menerapkan paket Pembaruan Kumulatif ini, Anda harus menjalankan SQL Server 2017.
Anda mungkin harus memulai ulang komputer setelah menerapkan paket Pembaruan Kumulatif ini.
Untuk menggunakan salah satu hotfix dalam paket ini, Anda tidak perlu membuat perubahan pada registri.
Artikel ini juga menyediakan informasi penting tentang situasi berikut ini:
-
Alat pacu jantung : Perubahan perilaku dilakukan dalam distribusi yang menggunakan versi Pacemaker terbaru yang tersedia. Metode mitigasi disediakan.
-
Bursa Kueri : Anda harus menjalankan skrip ini jika anda menggunakan Bursa Kueri dan anda telah menginstal Microsoft SQL Server 2017 Cumulative Update 2 (CU2).
Versi build CU Analysis Services
Dimulai pada SQL Server 2017, nomor versi build Analysis Services dan nomor versi build Mesin Database SQL Server tidak cocok. Untuk informasi selengkapnya, lihat Memverifikasi versi build pembaruan kumulatif Analysis Services.
Pembaruan kumulatif (CU)
Pembaruan kumulatif (CU) kini tersedia di Pusat Unduhan Microsoft.
Hanya CU terbaru yang dirilis untuk SQL Server 2017 yang tersedia di Pusat Unduhan.
Paket CU untuk Linux tersedia di https://packages.microsoft.com/.
Catatan
-
Setiap CU baru berisi semua perbaikan yang disertakan dengan CU sebelumnya untuk versi SQL Server yang terinstal.
-
SQL Server CU disertifikasi ke tingkat yang sama seperti Paket Layanan, dan harus diinstal pada tingkat kepercayaan diri yang sama.
-
Kami menyarankan penginstalan CUS proaktif yang sedang berlangsung saat tersedia sesuai dengan panduan ini:
-
Data historis menunjukkan bahwa sejumlah besar kasus dukungan melibatkan masalah yang telah diatasi dalam CU yang dirilis.
-
CUS mungkin berisi nilai tambah di atas dan di atas hotfix. Hal ini mencakup pembaruan keandalan, kemudahan pengelolaan, dan keandalan.
-
-
Kami menyarankan Agar Anda menguji CU sebelum menyebarkannya ke lingkungan produksi.
PENTING
Semua distribusi (termasuk RHEL 7.3 dan 7.4) yang menggunakan paket Pacemaker terbaru yang tersedia 1.1.18-11.el7 memperkenalkan perubahan perilaku untuk pengaturan kluster mulai-kegagalan-is-fatal jika nilainya salah. Perubahan ini mempengaruhi alur kerja failover. Jika replika utama mengalami pemadaman, kluster diharapkan gagal ke salah satu replika sekunder yang tersedia. Sebagai gantinya, pengguna akan melihat bahwa kluster terus mencoba untuk memulai replika utama yang gagal. Jika primer tersebut tidak pernah online (karena pemadaman permanen), kluster tidak pernah gagal ke replika sekunder lain yang tersedia.
Masalah ini memengaruhi semua versi SQL Server, terlepas dari versi pembaruan kumulatifnya.
Untuk mengurangi masalah, gunakan salah satu metode berikut ini.
Metode 1
Ikuti langkah-langkah ini:
-
Hapus start-failure-is-fatal override dari kluster yang sudah ada.
# RHEL, Ubuntu pcs properti unset start-failure-is-fatal # atau properti pcs set start-failure-is-fatal=true # SLES crm configure property start-failure-is-fatal=true -
Mengurangi nilai interval cluster-recheck .
# RHEL, properti pcs Ubuntu set cluster-recheck-interval=<Xmin> # SLES crm konfigurasi properti cluster-recheck-interval=<Xmin> -
Tambahkan properti meta waktu kegagalan ke setiap sumber daya AG.
# RHEL, Ubuntu pcs resource update ag1 meta failure-timeout=60s # SLES crm configure edit ag1 # In the text editor, add 'meta failure-timeout=60s' after any 'param's and before any 'op'sNote Dalam kode ini, ganti nilai <Xmin> sebagaimana mestinya. Jika replika turun, kluster mencoba untuk memulai ulang replika pada interval yang terikat oleh nilai waktu habis kegagalan dan nilai interval cluster-recheck- . Misalnya, jika waktu habis kegagalan diatur ke 60 detik dan interval pemeriksaan-cluster-recheck diatur ke 120 detik, mulai ulang dicoba pada interval yang lebih besar dari 60 detik tetapi kurang dari 120 detik. Kami menyarankan Agar Anda mengatur waktu habis kegagalan ke 60-an dan interval pemeriksaan-klaster ke nilai yang lebih besar dari 60 detik. Kami menyarankan agar Anda tidak mengatur interval klaster-recheck ke nilai kecil. Untuk informasi selengkapnya, lihat dokumentasi Pacu Jantung atau hubungi penyedia sistem.
Metode 2
Kembali ke Pacemaker versi 1.1.16.
PENTING
Anda harus menjalankan skrip ini jika menggunakan Bursa Kueri dan memperbarui dari SQL Server 2017 Pembaruan Kumulatif 2 (CU2) secara langsung ke SQL Server 2017 Pembaruan Kumulatif 3 (CU3) atau pembaruan kumulatif yang lebih baru. Anda tidak harus menjalankan skrip ini jika Anda sebelumnya telah menginstal SQL Server 2017 Pembaruan Kumulatif 3 (CU3) atau pembaruan kumulatif SQL Server 2017 yang lebih baru.
SET NOCOUNT ON;
DROP TABLE IF EXISTS #tmpUserDBs;
SELECT [database_id], 0 AS [IsDone]
INTO #tmpUserDBs
FROM master.sys.databases
WHERE [database_id] > 4
AND [state] = 0 -- must be ONLINE
AND is_read_only = 0 -- cannot be READ_ONLY
AND [database_id] NOT IN (SELECT dr.database_id FROM sys.dm_hadr_database_replica_states dr -- Except all local Always On secondary replicas
INNER JOIN sys.dm_hadr_availability_replica_states rs ON dr.group_id = rs.group_id
INNER JOIN sys.databases d ON dr.database_id = d.database_id
WHERE rs.role = 2 -- Is Secondary
AND dr.is_local = 1
AND rs.is_local = 1)
DECLARE @userDB sysname;
WHILE (SELECT COUNT([database_id]) FROM #tmpUserDBs WHERE [IsDone] = 0) > 0
BEGIN
SELECT TOP 1 @userDB = DB_NAME([database_id]) FROM #tmpUserDBs WHERE [IsDone] = 0
-- PRINT 'Working on database ' + @userDB
EXEC ('USE [' + @userDB + '];
DECLARE @clearPlan bigint, @clearQry bigint;
IF EXISTS (SELECT [actual_state] FROM sys.database_query_store_options WHERE [actual_state] IN (1,2))
BEGIN
IF EXISTS (SELECT plan_id FROM sys.query_store_plan WHERE engine_version = ''14.0.3008.27'')
BEGIN
DROP TABLE IF EXISTS #tmpclearPlans;
SELECT plan_id, query_id, 0 AS [IsDone]
INTO #tmpclearPlans
FROM sys.query_store_plan WHERE engine_version = ''14.0.3008.27''
WHILE (SELECT COUNT(plan_id) FROM #tmpclearPlans WHERE [IsDone] = 0) > 0
BEGIN
SELECT TOP 1 @clearPlan = plan_id, @clearQry = query_id FROM #tmpclearPlans WHERE [IsDone] = 0
EXECUTE sys.sp_query_store_unforce_plan @clearQry, @clearPlan;
EXECUTE sys.sp_query_store_remove_plan @clearPlan;
UPDATE #tmpclearPlans
SET [IsDone] = 1
WHERE plan_id = @clearPlan AND query_id = @clearQry
END;
PRINT ''- Cleared possibly affected plans in database [' + @userDB + ']''
END
ELSE
BEGIN
PRINT ''- No affected plans in database [' + @userDB + ']''
END
END
ELSE
BEGIN
PRINT ''- Query Store not enabled in database [' + @userDB + ']''
END')
UPDATE #tmpUserDBs
SET [IsDone] = 1
WHERE [database_id] = DB_ID(@userDB)
END
Saat Anda menyebarkan pembaruan ke lingkungan hibrid (seperti AlwaysOn, replikasi, kluster, dan pencerminan), kami menyarankan agar Anda merujuk ke artikel berikut ini sebelum Anda menyebarkan pembaruan:
-
SQL Server proses pembaruan bergulir kluster failover dan paket
layanan Catatan Jika Anda tidak ingin menggunakan proses pembaruan bergulir, ikuti langkah-langkah ini untuk menerapkan pembaruan:-
Instal pembaruan pada simpul pasif.
-
Instal pembaruan pada simpul aktif (memerlukan layanan dimulai ulang).
-
-
Pemutakhiran dan pembaruan server grup ketersediaan yang menggunakan waktu henti minimal dan kehilangan
data Catatan Jika Anda mengaktifkan AlwaysOn dengan katalog SSISDB, lihat informasi tentang SSIS dengan AlwaysOn untuk informasi selengkapnya tentang cara menerapkan pembaruan di lingkungan ini. -
Cara menerapkan hotfix untuk SQL Server dalam topologi replikasi
SQL Server Updates kumulatif saat ini multibahasa. Oleh karena itu, paket pembaruan kumulatif ini tidak khusus untuk satu bahasa. Ini berlaku untuk semua bahasa yang didukung.
Satu paket Pembaruan Kumulatif menyertakan semua pembaruan yang tersedia untuk komponen (fitur) ALL SQL Server 2017. Namun, paket pembaruan kumulatif hanya memperbarui komponen yang saat ini diinstal pada instans SQL Server yang Anda pilih untuk diservis. Jika fitur SQL Server (misalnya, Analysis Services) ditambahkan ke instans setelah CU ini diterapkan, Anda harus menerapkan ulang CU ini untuk memperbarui fitur baru ke CU ini.
Jika masalah tambahan terjadi atau jika diperlukan pemecahan masalah, Anda mungkin harus membuat permintaan layanan. Biaya dukungan biasa akan berlaku untuk pertanyaan dukungan tambahan dan untuk masalah yang tidak memenuhi syarat untuk paket pembaruan kumulatif tertentu ini. Untuk daftar lengkap Microsoft nomor telepon Layanan Pelanggan dan Dukungan, atau untuk membuat permintaan layanan terpisah, masuk ke situs web dukungan Microsoft.
Cara menghapus instalan pembaruan ini
-
Di Panel Kontrol, buka item Program dan Fitur, lalu pilih Tampilkan pembaruan yang terinstal.
-
Temukan entri yang terkait dengan paket pembaruan kumulatif ini di bawah SQL Server 2017.
-
Tekan dan tahan (atau klik kanan) entri, lalu pilih Hapus instalan.
Untuk menghapus instalan CU ini di Linux, Anda harus mengembalikan paket ke versi sebelumnya.
Untuk informasi selengkapnya tentang cara mengembalikan instalasi, lihat SQL Server Pembatalan.
Sanggahan informasi pihak ketiga
Produk pihak ketiga yang dibahas dalam artikel ini diproduksi oleh perusahaan yang independen Microsoft. Microsoft tidak memberikan jaminan, tersirat atau sebaliknya, terkait kinerja atau keandalan produk ini.
Referensi
-
Mengumumkan pembaruan untuk Model Pelayanan Tambahan SQL Server (ISM, Incremental Servicing Model)
-
Skrip untuk menentukan versi dan edisi mesin database SQL Server yang dijalankan
-
Model Pelayanan Inkremental untuk SQL Server memberikan hotfix untuk masalah yang dilaporkan
-
Skema penamaan untuk paket pembaruan perangkat lunak Microsoft SQL Server