Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Симптоми

Да предположим, че сте приложили Microsoft SQL Server 2012 Service Pack 2 (SP2) на компютъра си. Можете да се обадите на cdc.fn_cdc_get_net_changes_<capture_instance> промяна на заявката за УЛАВЯНЕ на данни (CDC) в съхранената sp_executesql процедура и то може да е от източник на приложения, като например сървър за управление на SQL Server (SSMS), CDC себе си или пакети за интегриране на SQL Server Services (SSIS). В тази ситуация ще имате лоша производителност в SQL Server 2012.Забележка Намаляване на производителността може да бъде голямо. Например заявката може да завърши за няколко секунди в SQL Server 2012 SP1. Същевременно една и съща заявка може да отнеме няколко часа, за да се изпълни в SQL Server 2012 SP2. Освен това актуализацията на статистиката не помага за проблема.

Причина

Този проблем възниква поради проблем в преценката за Кардинализъм, който силно влияе върху ефективността на cdc.fn_cdc_get_net_changes_<capture_instance> заявка.

Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:

Заобиколно решение

За да заобиколите този проблем, използвайте намек за опция (компилиране) на заявка във вашата заявка. В случай че заявката е активирана от компоненти на CDC на SSIS, може да бъде наложена опцията (компилиране) , като създадете ръководство за плана, както е в следния пример: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)'; Забележка Трябва да заместите примерната заявка със заявката, с която сте изправени пред проблема. Той може да бъде сграбчен от проследяването на профили , така че няма да е добавен допълнително знак. Освен това се уверете, че заявката за избиране е поставена в един ред (например не трябва да има никакъв автомобилен канал за рекламации или линия), така че ръководството за плана да може да работи успешно. Можете също да се наложи да използвате DBCC FREEPROCCACHE , за да изгубите стария план от кеша.

Състоянието

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×