Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: как profiler запустить из командной строки?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
sp_trace_create
17 янв 19, 17:55    [21788188]     Ответить | Цитировать Сообщить модератору
 Re: как profiler запустить из командной строки?  [new]
V_e_g_a
Member

Откуда:
Сообщений: 41
Так а нафига тогда запускать профайлер из командной строки, если дальше потом с этой трассой ничего не сделаешь. Какое-то половинчатое решение.
Вот с процедурой никак не могу разобраться до конца. Писал не сам, сгенерировал скрипт в энтерпрайз менеджере. Запускаю ее и на диске D создается файл трассы. Отображается нулевой размер, но все же туда пишется. Как остановить запись? Я ничего лучше не придумал как перезапустить сервер ))
Я так понимаю, что можно написать так: exec sp_trace_setstatus @TraceID, 2
Но если выполнить только эту строку, то меня просит определить переменную.
Если я exec sp_trace_setstatus @TraceID, 1 в теле скрипта меняю на exec sp_trace_setstatus @TraceID, 2 мне выдает:

ErrorCode
-----------
12
Подскажите пожалуйста как правильно делать.
Мне нужно, чтобы трассировка начинала работать в 00:01 и заканчивала в 23:59. Потом запускалась заново и писала уже в новый файл. Дату в имя файла смогу подставить сам. Помогите только с остановкой и запуском )

/****************************************************/
/* Created by: SQL Profiler                         */
/* Date: 17/01/2019  17:36:09         */
/****************************************************/


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

-- Please replace the text InsertFileNameHere, with an appropriate
-- filename prefixed by a path, e.g., c:\MyFolder\MyTrace. The .trc extension
-- will be appended to the filename automatically. If you are writing from
-- remote server to local drive, please use UNC path and make sure server has
-- write access to your network share

exec @rc = sp_trace_create @TraceID output, 0, N'D:\log', @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, 10, 1, @on
exec sp_trace_setevent @TraceID, 10, 6, @on
exec sp_trace_setevent @TraceID, 10, 9, @on
exec sp_trace_setevent @TraceID, 10, 10, @on
exec sp_trace_setevent @TraceID, 10, 11, @on
exec sp_trace_setevent @TraceID, 10, 12, @on
exec sp_trace_setevent @TraceID, 10, 13, @on
exec sp_trace_setevent @TraceID, 10, 14, @on
exec sp_trace_setevent @TraceID, 10, 16, @on
exec sp_trace_setevent @TraceID, 10, 17, @on
exec sp_trace_setevent @TraceID, 10, 18, @on
exec sp_trace_setevent @TraceID, 12, 1, @on
exec sp_trace_setevent @TraceID, 12, 6, @on
exec sp_trace_setevent @TraceID, 12, 9, @on
exec sp_trace_setevent @TraceID, 12, 10, @on
exec sp_trace_setevent @TraceID, 12, 11, @on
exec sp_trace_setevent @TraceID, 12, 12, @on
exec sp_trace_setevent @TraceID, 12, 13, @on
exec sp_trace_setevent @TraceID, 12, 14, @on
exec sp_trace_setevent @TraceID, 12, 16, @on
exec sp_trace_setevent @TraceID, 12, 17, @on
exec sp_trace_setevent @TraceID, 12, 18, @on
exec sp_trace_setevent @TraceID, 14, 1, @on
exec sp_trace_setevent @TraceID, 14, 6, @on
exec sp_trace_setevent @TraceID, 14, 9, @on
exec sp_trace_setevent @TraceID, 14, 10, @on
exec sp_trace_setevent @TraceID, 14, 11, @on
exec sp_trace_setevent @TraceID, 14, 12, @on
exec sp_trace_setevent @TraceID, 14, 13, @on
exec sp_trace_setevent @TraceID, 14, 14, @on
exec sp_trace_setevent @TraceID, 14, 16, @on
exec sp_trace_setevent @TraceID, 14, 17, @on
exec sp_trace_setevent @TraceID, 14, 18, @on
exec sp_trace_setevent @TraceID, 15, 1, @on
exec sp_trace_setevent @TraceID, 15, 6, @on
exec sp_trace_setevent @TraceID, 15, 9, @on
exec sp_trace_setevent @TraceID, 15, 10, @on
exec sp_trace_setevent @TraceID, 15, 11, @on
exec sp_trace_setevent @TraceID, 15, 12, @on
exec sp_trace_setevent @TraceID, 15, 13, @on
exec sp_trace_setevent @TraceID, 15, 14, @on
exec sp_trace_setevent @TraceID, 15, 16, @on
exec sp_trace_setevent @TraceID, 15, 17, @on
exec sp_trace_setevent @TraceID, 15, 18, @on
exec sp_trace_setevent @TraceID, 17, 1, @on
exec sp_trace_setevent @TraceID, 17, 6, @on
exec sp_trace_setevent @TraceID, 17, 9, @on
exec sp_trace_setevent @TraceID, 17, 10, @on
exec sp_trace_setevent @TraceID, 17, 11, @on
exec sp_trace_setevent @TraceID, 17, 12, @on
exec sp_trace_setevent @TraceID, 17, 13, @on
exec sp_trace_setevent @TraceID, 17, 14, @on
exec sp_trace_setevent @TraceID, 17, 16, @on
exec sp_trace_setevent @TraceID, 17, 17, @on
exec sp_trace_setevent @TraceID, 17, 18, @on


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

exec sp_trace_setfilter @TraceID, 10, 0, 7, N'SQL Profiler'


-- 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


Запуская и файл log.trc на диске не появляется.
18 янв 19, 11:06    [21788547]     Ответить | Цитировать Сообщить модератору
 Re: как profiler запустить из командной строки?  [new]
V_e_g_a
Member

Откуда:
Сообщений: 41
Редактировать нельзя что ли? )) Там последняя строчка лишняя. Файл на сервере создается а не на компе )
18 янв 19, 11:21    [21788571]     Ответить | Цитировать Сообщить модератору
 Re: как profiler запустить из командной строки?  [new]
V_e_g_a
Member

Откуда:
Сообщений: 41
Разобрался, спасибо. Останавливаем, используя ID трассы, который выводится при ее создании.
18 янв 19, 12:45    [21788678]     Ответить | Цитировать Сообщить модератору
 Re: как profiler запустить из командной строки?  [new]
V_e_g_a
Member

Откуда:
Сообщений: 41
Подскажите еще по событиям. С такой настройкой трассы в нее попадут все события? Или можно еще шире настроить?
18 янв 19, 16:34    [21788909]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Microsoft SQL Server Ответить