Symptomer
Anta at du har brukt Microsoft SQL Server 2012 Service Pack 2 (SP2) på datamaskinen. Du kaller cdc.fn_cdc_get_net_changes_ <capture_instance> endre Data Capture (AFH) spørring i sp_executesql lagret prosedyre, og den kan komme fra en kilde for programmer som SQL Server Management Studio Server (SSMS), AFH selve eller SQL Server Integration Services-pakker (SSIS)-pakker. I så fall kan du oppleve dårlig ytelse i SQL Server 2012.
Obs! Reduksjon i ytelse kan være stor. For eksempel kan en spørring fullføres i et par sekunder i SQL Server 2012 SP1. Den samme spørringen kan imidlertid ta flere timer å kjøre i SQL Server 2012 SP2. I tillegg beskytter ikke statistikkoppdatering med problemet.Årsak
Dette problemet oppstår på grunn av et problem i kardinalitet estimering som alvorlig påvirker ytelsen for cdc.fn_cdc_get_net_changes_ <capture_instance> -spørring.
Oppløsning
Problemet ble først løst i den følgende kumulative oppdateringen av SQL Server.
Samleoppdatering 3 for SQL Server 2012 SP2/en-us/help/3002049
Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:
Løsningen
Du kan omgå dette problemet ved å bruke alternativet (rekompilering) query tips i spørringen. Hvis spørringen er utløst fra inkluderinger for Serverside AFH komponenter, kan du bli nødt tipset alternativet (rekompilering) ved å opprette en plan veiledning som i følgende eksempel: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)'; Obs! Du må erstatte eksemplet spørringen med spørringen du vender problem med. Det kan være hentet fra Profiler -spor, slik at ingen ekstra tegn legges ved et uhell. Kontroller også at spørringen VELGER plasseres i en enkelt linje (for eksempel den bør ikke ha noen linjeskift returnere eller linjeskift) slik at planen TV-guiden kan lykkes. Du må kanskje også bruke DBCC FREEPROCCACHE for å stanse av gamle planen fra hurtigbufferen.Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".