Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Ознаки

Припустимо, що на комп'ютері застосовано Microsoft SQL Server 2012 із пакетом оновлень 2 (SP2). Ви телефонуєте на cdc.fn_cdc_get_net_changes_<capture_instance> змінити запит на передавання даних (CDC) у sp_executesql збережену процедуру, і вона може виходити з джерела програми, наприклад на сервері SQL Server Server (ssms), CDC самостійно або пакетів служб інтеграції SQL Server (ssms). У цій ситуації ви відчуєте низьку продуктивність у SQL Server 2012.Примітка.Зменшення продуктивності може бути більшим. Наприклад, запит може завершитися через кілька секунд у SQL Server 2012 SP1. Проте один і той самий запит може тривати кілька годин для запуску у SQL Server 2012 SP2. Крім того, оновлення статистики не допомагає вирішити проблему.

Причина

Ця проблема виникає через проблему з оцінкою потужності, яка суттєво впливає на продуктивність cdc.fn_cdc_get_net_changes_<capture_instance> запиту.

Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:

Інші способи вирішення

Щоб вирішити цю проблему, скористайтеся підказкою запиту (Перекомпіленним) у запиті. У випадку, якщо запит запущено з компонентів SSIS CDC, можливо, потрібно примусово виконати підказку (для компіляції) , створивши посібник із планування, як у наведеному нижче прикладі.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)'; Примітка.Потрібно замінити приклад запиту з запитом, з яким ви зіткнулися з цією проблемою. Його можна схопив з трасування Profiler , тому не випадково додається додатковий символ. Крім того, переконайтеся, що запит на вибірку буде поставлено в один рядок (наприклад, у ньому не повинно бути будь-якого повернутого або лінійного каналу), щоб посібник із планування може успішно працювати. Можливо, вам також доведеться використовувати DBCC FREEPROCCACHE , щоб вибити старий план із кеша.

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×