SQL план выполнения перезагружен? - PullRequest
0 голосов
/ 15 января 2020

Если в базе данных включено хранилище запросов, есть ли у SQL 2017 отдельные планы выполнения, которые очищаются и впоследствии перестраиваются при перезапуске экземпляра, или они загружаются из хранилища запросов?

1 Ответ

0 голосов
/ 15 января 2020

Взгляните на приведенную ниже аналогию, связанную с SQL Терминология хранилища запросов Server 2017.

Размер хранилища запросов в базе данных увеличивается, пока не будет достигнут предел. Когда это происходит, Query Store автоматически меняет режим работы только для чтения и прекращает сбор новых данных, что означает, что ваш анализ производительности больше не является точным .

Значение по умолчанию в SQL Server 2016 (13.x) и SQL Server 2017 (14.x) - 100 МБ. Начиная с SQL Server 2019 (15.x), значение по умолчанию составляет 1 ГБ.

Важно!

Ограничение максимального размера (МБ) не строго соблюдается. Проверяется только размер хранилища когда Query Store записывает данные на диск. Этот интервал устанавливается параметром Data Flu sh Interval (Minutes). Если хранилище запросов нарушило ограничение максимального размера между проверками размера хранилища, оно переходит в режим только для чтения. Если включен режим очистки на основе размера, также запускается механизм очистки для обеспечения ограничения максимального размера.

Порог устаревших запросов (дней)

Политика очистки на основе времени, которая контролирует период хранения постоянной статистики времени выполнения и неактивных запросов, выраженный в днях. По умолчанию хранилище запросов настроено для хранения данных в течение 30 дней , что может быть слишком длинным для вашего сценария.

Избегайте хранения исторических данных, которые вы не ' т планирую использовать. Эта практика уменьшает изменения только для чтения. Размер данных хранилища запросов и время обнаружения и устранения проблемы будут более предсказуемыми.

Использование хранилища запросов с базами данных elasti c пула

Вывод: Пока хранилище запросов включено и не достигает ограничения максимального размера или срока хранения (в зависимости от конфигурации политики очистки хранилища запросов), тогда SQL Сервер будет получить сохраненную статистику времени выполнения и неактивный запрос из хранилища запросов при выполнении любого плана выполнения. Следовательно, при очистке Query Store нет прямого влияния при SQL запуске / перезапуске экземпляра сервера.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...