Primjenjuje se na
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Standard

Simptomi

Pretpostavimo da ste na računalu primijenili Microsoft SQL Server 2012 Service Pack 2 (SP2). Cdc.fn_cdc_get_net_changes_<capture_instance> promijenite upit za hvatanje podataka (CDC) u pohranjenoj proceduri sp_executesql , a može doći iz izvora aplikacija, primjerice sustava SQL Server Management Studio Server (SSMS), CDC-a, ili paketa sustava SQL Server Integration Services (SSIS). U toj situaciji možete doživjeti slabe performanse u sustavu SQL Server 2012.NapomenaSmanjenje performansi može biti veliko. Upit, primjerice, može završiti za nekoliko sekundi u sustavu SQL Server 2012 SP1. Međutim, isti upit može potrajati nekoliko sati da bi se pokrenuli u sustavu SQL Server 2012 SP2. Uz to, ažuriranje statistika ne olakšava problem.

Uzrok

Taj se problem pojavljuje zbog problema u procjeni kardinala alalnosti koja ozbiljno utječe na performanse cdc.fn_cdc_get_net_changes_<capture_instance> Query.

Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Pogledajte najnovija kumulativna ažuriranja za SQL Server:

Zaobilazno rješenje

Da biste zaobišli taj problem, u upitu koristite upit (rekompiliranje) . U slučaju da se upit aktivira iz komponenti SSIS CDC, mogućnost (rekompiliranje) može biti prisiljena stvaranjem vodiča za planiranje kao u sljedećem primjeru: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)'; NapomenaMorate zamijeniti ogledni upit s upitom s kojim se problem suočava. Može se ugrabiti iz praćenja profiler , pa se nijedan dodatni znak slučajno ne dodaje. Osim toga, provjerite je li upit s odabiranjem stavljen u jedan redak (na primjer, ne bi trebao imati nikakav povrat ili sažetak retka) da bi vodič za planiranje mogao uspješno funkcionirati. Možda ćete morati koristiti i DBCC FREEPROCCACHE da biste isključili stari plan iz predmemorije.

Status

Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.