Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Очищается статистика производительности для кэшированных планов запросов  [new]
kalimba
Member

Откуда:
Сообщений: 297
Выполнил сегодня запросик:
SELECT *
FROM sys.dm_exec_query_stats
WHERE last_execution_time >= '2013-10-10 00:00'
ORDER BY last_execution_time

А там первый last_execution_time 2013-10-10 11:32:32.060 и до этой даты ничего нету, но при этом ночью куча запросов выполняется (ночная загрузка). Куда они могли деваться? Сервер не перезагружался, DBCC FREEPROCACHE я не выполнял.
10 окт 13, 16:29    [14951963]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
Гость333
Member

Откуда:
Сообщений: 3683
kalimba
DBCC FREEPROCACHE я не выполнял.

И никто другой не выполнял? Вы гарантируете это?
10 окт 13, 16:33    [14952004]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
kalimba
Member

Откуда:
Сообщений: 297
Гость333,

Вот в этом вся трабла, как лучше всего проверить? Поставить трейсить профайлер на это время?
10 окт 13, 16:34    [14952017]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
kalimba
Поставить трейсить профайлер на это время?


Отобрать лишние права (ALTER SERVER STATE).
10 окт 13, 16:36    [14952031]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
kalimba, сначала можно поискать эту инструкцию в теле хранимок и джобов, возможно, что-то и прояснится без профайлера
10 окт 13, 16:38    [14952046]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
как вариант - выполнялась процедура sp_recompile, в следствии чего план удалился из кэша, соответствующие строки исключились из представления.
10 окт 13, 16:40    [14952063]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
o-o
Guest
kalimba,

у меня запуск DBCC FREEPROCCACHE привел к появлению 3х записей в логе.
там пошарьте.
10 окт 13, 16:43    [14952089]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
Гость333
Member

Откуда:
Сообщений: 3683
kalimba
Вот в этом вся трабла, как лучше всего проверить?

Выполнил сейчас DBCC FREEPROCCACHE на локальном сервере, в ERRORLOG появились записи:

автор
2013-10-10 16:40:37.31 spid63 SQL Server has encountered 3 occurrence(s) of cachestore flush for the 'Object Plans' cachestore (part of plan cache) due to 'DBCC FREEPROCCACHE' or 'DBCC FREESYSTEMCACHE' operations.
2013-10-10 16:40:38.61 spid63 SQL Server has encountered 3 occurrence(s) of cachestore flush for the 'SQL Plans' cachestore (part of plan cache) due to 'DBCC FREEPROCCACHE' or 'DBCC FREESYSTEMCACHE' operations.
2013-10-10 16:40:38.62 spid63 SQL Server has encountered 3 occurrence(s) of cachestore flush for the 'Bound Trees' cachestore (part of plan cache) due to 'DBCC FREEPROCCACHE' or 'DBCC FREESYSTEMCACHE' operations.
10 окт 13, 16:44    [14952091]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
o-o
Guest
ну вот, Гость333 их еще и "озвучил" :)
...а в дефолтном трейсе еще и логин записан, кто сие произвел!
10 окт 13, 16:49    [14952131]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
kalimba
Member

Откуда:
Сообщений: 297
Гость333,

Проверил на тестовом, действительно 3 таких записи появляюся, но на продакшене таких записей нету.. (
10 окт 13, 16:58    [14952209]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
o-o
Guest
вот еще дофигище возможных причин:

The whole procedure cache is cleared when certain database level operations are performed in the following scenarios:

A database has the AUTO_CLOSE database option set to ON. When no user connection references or uses the database, the background task tries to close and shut down the database automatically.
You run several queries against a database that has default options. Then, the database is dropped.
A database snapshot for a source database is dropped.

Note Database snapshots are only available in Microsoft SQL Server 2005 Enterprise Edition.
You change the database state to OFFLINE or ONLINE.
You successfully rebuild the transaction log for a database.
You restore a database backup.
You run the DBCC CHECKDB statement.

Note This is true only in versions of SQL Server 2005 that are earlier than SQL Server 2005 SP2. After you install SQL Server 2005 SP2 or later versions, the whole procedure cache is not flushed when you run the DBCC CHECKDB statement.
You detach a database.
You specify one of the following options when you run the ALTER DATABASE statement:
OFFLINE
ONLINE
MODIFY FILEGROUP DEFAULT
MODIFY_NAME
MODIFY FILEGROUP READ_WRITE
COLLATE
MODIFY FILEGROUP READ_ONLY
READ_ONLY
READ_WRITE
The whole procedure cache is cleared if one of the following server options is changed by the RECONFIGURE statement:
cross db ownership chaining
index create memory (KB)
remote query timeout (s)
user options
max text repl size (B)
cost threshold for parallelism
max degree of parallelism
min memory per query (KB)
query wait (s)
min server memory (MB)
max server memory (MB)
query governor cost limit
Note Procedure cache will not be cleared if the actual value does not change or if the new value for the max server memory server option is set to 0.

The whole procedure cache is cleared when certain database level operations are performed
10 окт 13, 17:10    [14952276]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
kalimba
Member

Откуда:
Сообщений: 297
Сейчас выполнил запрос заново, теперь минимальная last_execution_time = 2013-10-10 12:06:01.557, волшебство.

o-o,
Спасибо, буду смотреть..
10 окт 13, 17:26    [14952389]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
o-o
Guest
кстати. что покажет, если по creation_time отсортировать?
а то может, они все одни и те же исполняются, т.е. никуда не делиась, только обновилось last_execution_time
10 окт 13, 18:08    [14952676]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
kalimba
Member

Откуда:
Сообщений: 297
o-o,

Такая же фигня(
10 окт 13, 18:11    [14952686]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
o-o
Guest
вот если очищать кэш перечисленными в статье способами на уровне базы,
то из кэша исчезают относящиеся к базе планы и это в еррор-логе не отражается.
а вот на уровне сервера, если например, опции менять с reconfigure,
то все в лог записывается как при DBCC FREEPROCACHE, только уже нет слова DBCC FREEPROCACHE, а идет RECONFIGURE или MAINTENANCE.
короче, предлагаю в логе поискать фразочку 'SQL Plans' cachestore
10 окт 13, 18:30    [14952759]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
kalimba
Member

Откуда:
Сообщений: 297
o-o,

Ничего такого в логе нет( Кэш все равно очищается...
12 окт 13, 11:10    [14960127]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
Crimean
Member

Откуда:
Сообщений: 13147
мемори преша случилась ) все выгрузили что смогли
12 окт 13, 12:01    [14960181]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
kalimba
Member

Откуда:
Сообщений: 297
Crimean,

А можно поподробнее?
12 окт 13, 12:17    [14960213]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
o-o
Guest
sql server free buffer cache under memory pressure
12 окт 13, 23:30    [14961989]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
kalimba
Member

Откуда:
Сообщений: 297
o-o,

Спасибо, суть понял, а фиксить как? : )
72Гб на машине, Max Server Memory 64Гб, SQL Server 2012 SP1.

З.Ы. Книга ничего так, спасибо.
13 окт 13, 01:10    [14962276]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
Crimean
Member

Откуда:
Сообщений: 13147
а проблема-то в чем?
13 окт 13, 14:05    [14962779]     Ответить | Цитировать Сообщить модератору
 Re: Очищается статистика производительности для кэшированных планов запросов  [new]
kalimba
Member

Откуда:
Сообщений: 297
Crimean,

Спасибо большое за наводку, уже сам разобрался : )
13 окт 13, 16:20    [14962954]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить