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

Откуда:
Сообщений: 15
Всем привет,

кто-нибудь может объяснить, в каких случаях следующий запрос может возвращать строки с type, отличным от 'P', 'PC' или 'X':
select
    o.name,
    o.type,
    s.execution_count
    --,....
from sys.dm_exec_procedure_stats s
join sys.objects o
    on s.object_id = o.object_id


Человек, которого попросили запустить этот запрос на продакшен сервере, к которому у меня нет доступа, утверждает, что запрос возвращает данные и для type = 'PK', 'TR', 'FN', 'U', 'V', ... это противоречит документации и здравому смыслу.

Я использовал этот запрос неоднократно и на разных серверах и никогда такого не видел. Филинг конфьюзд...
17 сен 19, 23:28    [21972923]     Ответить | Цитировать Сообщить модератору
 Re: запрос к sys.dm_exec_procedure_stats  [new]
Gerros
Member

Откуда: Харьков
Сообщений: 501
use master
select object_id, type, name into #t from sys.objects

use msdb
select
  m.object_id, m.type, m.name,
  t.object_id, t.type, t.name
from sys.objects m
full
join #t t on t.object_id = m.object_id
where m.type <> t.type
   or m.name <> t.name

drop table #t
17 сен 19, 23:46    [21972928]     Ответить | Цитировать Сообщить модератору
 Re: запрос к sys.dm_exec_procedure_stats  [new]
andrei_78
Member

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

сорри, но как это относится к вопросу про sys.dm_exec_query_stats?
17 сен 19, 23:51    [21972929]     Ответить | Цитировать Сообщить модератору
 Re: запрос к sys.dm_exec_procedure_stats  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31355
andrei_78
Gerros,

сорри, но как это относится к вопросу про sys.dm_exec_query_stats?
У вас в запросе джойн неправильный, s.object_id = o.object_id связывать нельзя. С одним object_id в sys.dm_exec_procedure_stats может быть много разных объектов.
17 сен 19, 23:54    [21972930]     Ответить | Цитировать Сообщить модератору
 Re: запрос к sys.dm_exec_procedure_stats  [new]
andrei_78
Member

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

но object_id - уникальный в sys.objects, а в sys.dm_exec_procedure_stats должны быть только P, PC или X. как могут появиться другие типы?
17 сен 19, 23:59    [21972931]     Ответить | Цитировать Сообщить модератору
 Re: запрос к sys.dm_exec_procedure_stats  [new]
Gerros
Member

Откуда: Харьков
Сообщений: 501
andrei_78,

на сервере много sys.objects - у каждой базы свой.
18 сен 19, 00:36    [21972939]     Ответить | Цитировать Сообщить модератору
 Re: запрос к sys.dm_exec_procedure_stats  [new]
andrei_78
Member

Откуда:
Сообщений: 15
я разобрался, sys.dm_exec_procedure_stats содержит данные для всех баз - в этом моя ошибка. надо добавить фильтр по database_id. Всем спасибо!
18 сен 19, 00:42    [21972940]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить