Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / trace rowcounts / 8 сообщений из 8, страница 1 из 1
04.01.2019, 18:58
    #39755930
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
trace rowcounts
Господа такой вопрос:

Пару раз сталкивался с поведением трассировки/сессии XE при событиях SP:StmtCompleted/sp_statement_completed SQL:StmtCompleted / sql_statement_completed что столбец RowCounts который отражает кол-во обработанных строк той или иной инструкцией бывает пустым.

При этом инструкции отражаемые по трассировке по которым было видно такое поведение dml т.е. реальные insert/delete из таблиц. число чтений было не нулевое, а вот rowcounts просто становился пустым, я думал что это глючит сама трасса, но в тот же момент времени на процесс навесил сессию XE и там тоже значения rowcounts отсутствовали.

Вот не могу воспроизвести такое поведение (а главное хотелось бы узнать какие факторы влияют на то что стобец перестает показывать данные).

Есть идеи из-за чего такое может происходить?
...
Рейтинг: 0 / 0
05.01.2019, 18:31
    #39756151
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
trace rowcounts
вот пожалуйста пример:

что заметил, такое поведение только у одной сессии, если запустить трассу по нескольким то rowcounts нормально отражается по большинству, а вот по некотором встречается такое поведение.

пробовал и с set nocount поиграться, но что то не получается добиться такого эффекта принудительно.
...
Рейтинг: 0 / 0
05.01.2019, 18:57
    #39756157
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
trace rowcounts
Такой эффект будет, если, например, у SP:Completed RowCounts включить, а у SP:StmtCompleted выключить.
...
Рейтинг: 0 / 0
05.01.2019, 19:15
    #39756163
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
trace rowcounts
invm,

Включен.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
/****************************************************/
/* Created by: SQL Server 2017 Profiler          */
/* Date: 05/01/2019  19:10:24         */
/****************************************************/


-- Create a Queue
declare @rc int
declare @TraceID int
declare @maxfilesize bigint
set @maxfilesize = 5 

exec @rc = sp_trace_create @TraceID output, 0, N'C:\temp\trc01.trc', @maxfilesize, NULL 
if (@rc != 0) goto error

-- Client side File and Table cannot be scripted

-- Set the events
declare @on bit
set @on = 1
exec sp_trace_setevent @TraceID, 33, 1, @on
exec sp_trace_setevent @TraceID, 33, 11, @on
exec sp_trace_setevent @TraceID, 33, 8, @on
exec sp_trace_setevent @TraceID, 33, 10, @on
exec sp_trace_setevent @TraceID, 33, 12, @on
exec sp_trace_setevent @TraceID, 33, 51, @on
exec sp_trace_setevent @TraceID, 162, 1, @on
exec sp_trace_setevent @TraceID, 162, 11, @on
exec sp_trace_setevent @TraceID, 162, 8, @on
exec sp_trace_setevent @TraceID, 162, 10, @on
exec sp_trace_setevent @TraceID, 162, 12, @on
exec sp_trace_setevent @TraceID, 162, 51, @on
exec sp_trace_setevent @TraceID, 45, 1, @on
exec sp_trace_setevent @TraceID, 45, 9, @on
exec sp_trace_setevent @TraceID, 45, 5, @on
exec sp_trace_setevent @TraceID, 45, 8, @on
exec sp_trace_setevent @TraceID, 45, 10, @on
exec sp_trace_setevent @TraceID, 45, 11, @on
exec sp_trace_setevent @TraceID, 45, 12, @on
exec sp_trace_setevent @TraceID, 45, 13, @on
exec sp_trace_setevent @TraceID, 45, 16, @on
exec sp_trace_setevent @TraceID, 45, 17, @on
exec sp_trace_setevent @TraceID, 45, 26, @on
exec sp_trace_setevent @TraceID, 45, 29, @on
exec sp_trace_setevent @TraceID, 45, 34, @on
exec sp_trace_setevent @TraceID, 45, 35, @on
exec sp_trace_setevent @TraceID, 45, 48, @on
exec sp_trace_setevent @TraceID, 45, 51, @on
exec sp_trace_setevent @TraceID, 45, 64, @on
exec sp_trace_setevent @TraceID, 12, 1, @on
exec sp_trace_setevent @TraceID, 12, 9, @on
exec sp_trace_setevent @TraceID, 12, 11, @on
exec sp_trace_setevent @TraceID, 12, 8, @on
exec sp_trace_setevent @TraceID, 12, 10, @on
exec sp_trace_setevent @TraceID, 12, 12, @on
exec sp_trace_setevent @TraceID, 12, 13, @on
exec sp_trace_setevent @TraceID, 12, 16, @on
exec sp_trace_setevent @TraceID, 12, 17, @on
exec sp_trace_setevent @TraceID, 12, 26, @on
exec sp_trace_setevent @TraceID, 12, 35, @on
exec sp_trace_setevent @TraceID, 12, 48, @on
exec sp_trace_setevent @TraceID, 12, 51, @on
exec sp_trace_setevent @TraceID, 12, 64, @on
exec sp_trace_setevent @TraceID, 41, 1, @on
exec sp_trace_setevent @TraceID, 41, 9, @on
exec sp_trace_setevent @TraceID, 41, 5, @on
exec sp_trace_setevent @TraceID, 41, 8, @on
exec sp_trace_setevent @TraceID, 41, 10, @on
exec sp_trace_setevent @TraceID, 41, 11, @on
exec sp_trace_setevent @TraceID, 41, 12, @on
exec sp_trace_setevent @TraceID, 41, 13, @on
exec sp_trace_setevent @TraceID, 41, 16, @on
exec sp_trace_setevent @TraceID, 41, 17, @on
exec sp_trace_setevent @TraceID, 41, 26, @on
exec sp_trace_setevent @TraceID, 41, 29, @on
exec sp_trace_setevent @TraceID, 41, 35, @on
exec sp_trace_setevent @TraceID, 41, 48, @on
exec sp_trace_setevent @TraceID, 41, 51, @on
exec sp_trace_setevent @TraceID, 41, 64, @on


-- Set the Filters
declare @intfilter int
declare @bigintfilter bigint

exec sp_trace_setfilter @TraceID, 10, 0, 7, N'%IntelliSense%'
exec sp_trace_setfilter @TraceID, 10, 0, 7, N'Приложение SQL Server Profiler - 0d1e7ca7-5047-48c3-9184-4064ecf365ad'
exec sp_trace_setfilter @TraceID, 34, 0, 7, N'SetAPIProcessID'
exec sp_trace_setfilter @TraceID, 34, 0, 7, N'GetAPIProcessID'
-- Set the trace status to start
exec sp_trace_setstatus @TraceID, 1

-- display trace id for future references
select TraceID=@TraceID
goto finish

error: 
select ErrorCode=@rc

finish: 
go




У трассы добавлены следующие события:
Exception
UserErrorMessage
SP:StmtCompleted
SQL:BatchCompleted
SQL:StmtCompleted

у последних трех колонка rowcounts включена
...
Рейтинг: 0 / 0
05.01.2019, 19:21
    #39756168
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
trace rowcounts
при этом заметьте если колонку в событие не включать, но она присутствует у других событий она в профайлере будет для этого события пустая желтого цвета.

а у меня они белые, то есть для событий реально отлавливаются, и для других сессий там есть значения, я просто не очень удобно скриншот подобрал.
...
Рейтинг: 0 / 0
05.01.2019, 20:07
    #39756189
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
trace rowcounts
felix_ff,

Тогда, видимо, это баговина...
...
Рейтинг: 0 / 0
05.01.2019, 20:23
    #39756203
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
trace rowcounts
invm,

походу да, это просто край какой то :(

подумал что может сам профайлер глючит - но нет. серверная трасса в файл дает такой же результат время от времени для некоторых сессий он начинает null писать в это поле.

если что:
Microsoft SQL Server 2016 (SP2) (KB4052908) - 13.0.5026.0 (X64)
Mar 18 2018 09:11:49
Copyright (c) Microsoft Corporation
Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: )
...
Рейтинг: 0 / 0
05.01.2019, 20:39
    #39756213
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
trace rowcounts
felix_ff,

Попробуйте последний CU, может поможет.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / trace rowcounts / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]