Ознаки
Припустімо, що ви використовуєте функцію груп доступності AlwaysOn у Microsoft SQL ServerSQL Server 2012, 2014 або 2016. Щоразу під час виконання запиту до додаткової бази даних він компілюється повторно. Ця проблема виникає через те, що статистика неправильно передається з головного сервера на додатковий. Якщо ви запустите трасування профілювальника, ви знайдете щось подібне з наступним про StatMan , що означає, що SQL сервер запитує статистику:
SELECT StatMan([SC0], [SB0000]) FROM (SELECT TOP 100 PERCENT [SC0], step_direction([SC0]) over (order by NULL) AS [SB0000] FROM (SELECT [XXX] AS [SC0] FROM [dbo].[ XXX] СИСТЕМА ТАБЛИЦЬ (7.033584e-001 ВІДСОТКІВ) З (READUNCOMMITTED) ) ЯК _MS_UPDSTATS_TBL_HELPER ORDER BY [SC0], [SB0000] ) ЯК _MS_UPDSTATS_TBL OPTION (MAXDOP 1)
Примітка. Якщо вимкнути параметр "Автоматичне оновлення статистики" або ввімкнути автоматичне оновлення статистики асинхронно, ця проблема не виникає.
Спосіб усунення проблеми
Вперше виправлено цю проблему в наступному сукупному оновленні SQL ServerSQL Server:
- Сукупний пакет оновлень 2 SQL ServerSQL Server 2016 SP1
- Сукупний пакет оновлень 4 для SQL ServerSQL Server 2016
- Сукупний пакет оновлень 3 для SQL ServerSQL Server 2014 SP2
- Сукупний пакет оновлень 8 для SQL ServerSQL Server 2014 SP1
- Сукупний пакет оновлень 5 для SQL Server 2012 із пакетом оновлень 3 (SP3)
Рекомендація: інсталюйте останній сукупний пакет оновлень для SQL Server
Кожне нове сукупне оновлення для SQL Server містить усі виправлення та виправлення системи безпеки, які входили до попереднього сукупного пакета оновлень. Радимо завантажити та інсталювати останні сукупні оновлення для SQL Server.
- Останнє сукупне оновлення для SQL ServerSQL Server 2016
- Останнє сукупне оновлення для SQL ServerSQL Server 2012 SP3
- Останнє сукупне оновлення для SQL ServerSQL Server 2014 SP1/SP2
Посилання
Дізнайтеся, за допомогою яких термінів корпорація Майкрософт описує оновлення програмного забезпечення.