Gejala
Jika Anda menggunakan SQL Server 2017 dan memiliki banyak paket Layanan Integrasi SQL Server (SSIS), Anda mungkin melihat bahwa laporan SSIS atau Power BI gagal secara sporadis dengan kesalahan waktu habis koneksi berikut:
"_Main_XXXXX:Error: Kode Kesalahan SSIS DTS_E_OLEDBERROR. Terjadi kesalahan OLE DB. Kode kesalahan: 0x80004005."
Catatan OLE DB tersedia. Sumber: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Deskripsi: "Batas waktu masuk kedaluwarsa".
Catatan OLE DB tersedia. Sumber: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Deskripsi: "Tidak dapat menyelesaikan proses masuk karena keterlambatan dalam respons login".
Catatan OLE DB tersedia. Sumber: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Deskripsi: "Penyedia TCP: Kesalahan batas waktu [258]. "."
Jika tidak, masalah ini tidak terbatas pada laporan SSIS atau Power BI saja. Aplikasi apa pun dapat mengalami masalah performa dan waktu habis saat tersambung dengan SQL Server.
Perbaikan ini memperkenalkan dua kolom baru, error_code dan op_history di DMV sys.dm_os_buffer_descriptors . Kolom Error_code mewakili informasi kesalahan selama upaya terakhir untuk mengisi buffer yang dimaksud. Kolom Op_history mewakili riwayat operasional buffer dalam format bit (4 bit per operasi, total 16 operasi, 4 bit terakhir mewakili operasi terbaru dan geser ke kiri seiring berjalannya waktu).
catatan Perbaikan ini tidak mengatasi kesalahan tertentu yang Anda lihat saat mengisi halaman buffer. Ini hanya mengekspos informasi tentang kode kesalahan dan operasi pada buffer sehingga pemecahan masalah tambahan dapat dilakukan dengan informasi baru.
Akar Penyebab
Masalah batas waktu dan performa bersifat umum dan dapat memiliki banyak akar penyebab yang mendasarinya. Dalam kasus khusus ini, ada banyak kesalahan dan percobaan ulang yang diamati saat mencoba membaca halaman data dari file data dan mengisi Buffer memori (representasi memori halaman data). Akar penyebab kesalahan populasi buffer tidak diidentifikasi dengan jelas sebagai kode kesalahan yang mendasarinya saat mencoba mengisi buffer yang tidak terekspos.
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".
Resolusi
Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut untuk SQL Server:
Tentang pembaruan kumulatif untuk SQL Server:
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
Referensi
Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.