Applies ToSQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Standard

Simptomi

Pieņemiet, ka jūsu datorā ir lietota Microsoft SQL Server 2012 2. servisa pakotne (SP2). Jūs zvanāt uz cdc.fn_cdc_get_net_changes_<capture_instance> mainīt datu tveršanas (CDC) vaicājumu sp_executesql saglabātajā procedūrā, un tas var būt no lietojumprogrammas avota, piemēram, SQL Server Management Studio Server (SSMS), CDC vai SQL Server integrācijas pakalpojumu (SSIS) pakotnes. Šajā situācijā ir slikta veiktspēja programmā SQL Server 2012.Piezīme.Veiktspējas samazināšanās var būt liela. Piemēram, programmā SQL Server 2012 SP1 var pabeigt vaicājumu dažas sekundes. Taču tas pats vaicājums var ilgt vairākas stundas, lai palaistu SQL Server 2012 SP2. Turklāt statistikas atjauninājums nepalīdz atrisināt šo problēmu.

Cēlonis

Šī problēma rodas tāpēc, ka ir radusies problēma, veicot novērtējumu, kas būtiski ietekmē cdc.fn_cdc_get_net_changes_<capture_instance> vaicājuma veiktspēju.

Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:

Risinājums

Lai novērstu šo problēmu, vaicājumā izmantojiet opciju (Pārkompilējiet) vaicājuma atgādinājumu. Gadījumā, ja vaicājumu izraisa SSIS CDC komponenti, opciju (pārkompilēt) mājienu var būt spiests izveidot plānošanas rokasgrāmatu, kā parādīts tālāk esošajā piemērā: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)'; Piezīme.Piemēra vaicājums ir jāaizstāj ar vaicājumu, ar kuru saskaras. To var tvert no Profiler izsekošanas, līdz ar to nav nejauši pievienota papildu rakstzīme. Bez tam pārliecinieties, vai atlases vaicājums tiek ielikts vienā rindiņā (piemēram, tam nedrīkst būt neviena rakstatgriezes vai līnijas padeve), lai plāna rokasgrāmata varētu sekmīgi darboties. Iespējams, vajadzēs izmantot DBCC FREEPROCCACHE , lai izslēgtu veco plānu no kešatmiņas.

Statusa

Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.

Kopienas palīdz uzdot jautājumus un atbildēt uz tiem, sniegt atsauksmes, kā arī saņemt informāciju no ekspertiem ar bagātīgām zināšanām.