Berlaku Untuk
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Standard

Gejala

Anggaplah Anda telah menerapkan Microsoft SQL Server 2012 Service Pack 2 (SP2) di komputer Anda. Anda memanggil cdc.fn_cdc_get_net_changes_<capture_instance> mengubah data capture (cdc) dalam prosedur sp_executesql disimpan, dan mungkin berasal dari sumber aplikasi seperti server manajemen SQL Server (SSMS), CDC itu sendiri, atau paket layanan integrasi SQL Server (SSIS). Dalam situasi ini, Anda mengalami kinerja yang buruk di SQL Server 2012.Catatan Penurunan kinerja bisa besar. Misalnya, kueri dapat diselesaikan dalam beberapa detik di SQL Server 2012 SP1. Namun, kueri yang sama dapat memakan waktu beberapa jam untuk dijalankan di SQL Server 2012 SP2. Selain itu, pembaruan Statistik tidak membantu masalah tersebut.

Penyebab

Masalah ini terjadi karena masalah dalam perkiraan Cardinality yang sangat mempengaruhi kinerja <cdc.fn_cdc_get_net_changes_ capture_instance kueri> .

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:

Penyelesaian Masalah

Untuk mengatasi masalah ini, gunakan petunjuk kueri opsi (mengkompilasi ulang) dalam kueri Anda. Jika kueri dipicu dari komponen CDC SSIS, maka opsi (mengkompilasi ulang) petunjuk mungkin dipaksa dengan membuat panduan rencana seperti dalam contoh berikut:Exec sp_create_plan_guide @name = N'CDC_Query1_PlanGuide', @stmt = N'select [__$start_lsn],[__$operation],[__$update_mask],[Column1],[Column2],[Column3] from [cdc].[fn_cdc_get_net_changes_dbo_Table1](CONVERT(binary(10), @cs, 1), CONVERT(binary(10), @ce, 1), @mode)',@type = N'SQL',@module_or_batch = NULL, @params = N'@ce nvarchar(22),@mode nvarchar(14),@cs nvarchar(22)', @hints = N'OPTION (RECOMPILE)'; Catatan Anda harus mengganti kueri contoh dengan kueri yang dihadapi masalah Anda. Ini bisa diambil dari jejak Profiler , sehingga tidak ada karakter tambahan yang ditambahkan secara tidak sengaja. Selain itu, pastikan bahwa kueri pemilihan diletakkan dalam satu baris (misalnya, tidak boleh ada carriage return atau umpan baris) sehingga panduan rencana bisa berhasil. Anda mungkin juga harus menggunakan DBCC FREEPROCCACHE untuk mengetuk dari paket lama dari singgahan.

Status

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

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.