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

Откуда:
Сообщений: 517
День добрый!
Есть несколько вопросов на которые не нашел ответов, помогите разобраться пожалуйста.
1) Нужно мониторить несколько колонок, скажем только TextData, Read,Write. Если создаю трейс и сохраняю данные в таблицу, то select * from trace_table выдает именно нужные колонки, но ести указываю сохранить тот же темплейт в файл, то
SELECT * FROM::fn_trace_gettable('c:\Trace.trc', DEFAULT) выдает все возможные колонки, данные есть только в нужных, но хотелось бы знать, это я че-то не так делаю? Мне лишние колонки не мешают, я в любом случае не делаю SELECT *, но интересно или лишнее занимает место в файле трейса?

2) Команд sp_trace_create позволяет сохранять данные только в файл или есть возможность сохранять сразу в таблицу, как через GUI?

3) На сколько я понял, то если я указываю сохранить данные трейса в таблицу, то есть возможность указать максимальное количество строк, не нашел такую возможность в GUI при сохранении в файл.

4) В догонку к предидушему вопросу, если запускать трейс не через GUI, то при сохранении в файл при помощи sp_trace_create в параметре @filecount можно указать только количество файлов, я правильно понял? Т.е. нет возможности ограничить количество строк или еще лучше удалять записи старше Х дней?

Спасибо за ответы!
На самом деле есть задача мониторить базы в продакшене по определенным условиям конечно, речь идет о порядке 10 и более серверов. Написал скрипт, который создает трейс с необходимыми условиями, сохраняет данные на диск, все все вроде хорошо, но не продуман вопрос удаления старых записей, файлы на самом деле не большие, но теоретически могут дойти до не слабых размеров, я переодически подключаюсь к каждому серверу и удаляю файлы старше недели, но хотелось бы автоматизировать процесс.
Как вариант думал создать скрипт, который создает трейс и записывает данные в базу, вместе с этим создать SQL джоб, который бежит раз в день и удаляет строки где Sarttime<XYZ, но не нашел как записывать в файл из sp_trace_create . Можно конечно создать темплейт из того что есть, добавить на каждый сервер и т.п. но не хочу, чтоб профайлер был открыт, да и хочется как можно проще сделать процесс установки, через код, без GUI.
Ну или второй вариант, оставить как есть и добавить какой-нибудь Windows Task, который удаляет из папки с трейсом файлы старше ХХХ дней.
Вот и интересуюсь или есть уже готовая возможность, чтоб не изобретать велосипед.

Спасибо еще раз!
17 дек 15, 14:39    [18573271]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с профайлером.  [new]
Glory
Member

Откуда:
Сообщений: 104760
abrashka
это я че-то не так делаю?

Ага
fn_trace_gettable returns a table with all the columns valid for the specified trace.

abrashka
2) Команд sp_trace_create позволяет сохранять данные только в файл или есть возможность сохранять сразу в таблицу, как через GUI?

А в хелпе что написано про это ?
17 дек 15, 14:45    [18573292]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с профайлером.  [new]
abrashka
Member

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

В хелпе по поводу sp_trace_create написано, что сохраняет в файл, про таблицу написано, что можно скопировать данные из файла в таблицу при помощи fn_trace_gettable, которая будет удалена из следующих версий SQL. Меня интересует или можно сразу сохранять данные в таблицу, минуя файл, как это делается через GUI.
17 дек 15, 15:52    [18573647]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с профайлером.  [new]
Glory
Member

Откуда:
Сообщений: 104760
abrashka
В хелпе по поводу sp_trace_create написано, что сохраняет в файл, про таблицу написано, что можно скопировать данные из файла в таблицу при помощи fn_trace_gettable, которая будет удалена из следующих версий SQL. Меня интересует или можно сразу сохранять данные в таблицу, минуя файл, как это делается через GUI.

Еще раз спрошу - вы точно прочитали хелп ?
Если там " написано, что сохраняет в файл", а "можно скопировать данные из файла в таблицу при помощи fn_trace_gettable", то почему вы спрашиваете про "как в GUI" ?
17 дек 15, 15:54    [18573668]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с профайлером.  [new]
abrashka
Member

Откуда:
Сообщений: 517
Glory,
Честно говоря не совсем уловил Вашу мысль, по мне так совокупность каманды "записывает в файл" и другой команды, которя "может записывать из файла в таблицу" совсем не отменят существование третей команды, которая записывает данные сразу в таблицу.
Тем более, что такая возможность имеется в GUI.
Для эксперемента создал трейс в ГУИ, экспортировал в SQL, чтоб посмотреть что же такого там запускается для сохранения в таблицу, так там все тот же sp_trace_create и просят указать место для файла :(

Ну судя по всему нельзя...
Спасибо!
17 дек 15, 16:03    [18573726]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с профайлером.  [new]
Glory
Member

Откуда:
Сообщений: 104760
abrashka
Честно говоря не совсем уловил Вашу мысль, по мне так совокупность каманды "записывает в файл" и другой команды, которя "может записывать из файла в таблицу" совсем не отменят существование третей команды, которая записывает данные сразу в таблицу.

Вы посмоотрели все параметры процедуры ?
Нашли в них "запись в таблицу" ?

abrashka
Тем более, что такая возможность имеется в GUI.

А как GUI клиентского приложения связан с sp_trace_create сервера ?
17 дек 15, 16:06    [18573743]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с профайлером.  [new]
Glory
Member

Откуда:
Сообщений: 104760
abrashka
Ну или второй вариант, оставить как есть и добавить какой-нибудь Windows Task, который удаляет из папки с трейсом файлы старше ХХХ дней.

Читать надо хелпы. А не просматривать их

[ @filecount = ] 'max_rollover_files'
Specifies the maximum number or trace files to be maintained with the same base filename. max_rollover_files is int, greater than one. This parameter is valid only if the TRACE_FILE_ROLLOVER option is specified. When max_rollover_files is specified, SQL Server tries to maintain no more than max_rollover_files trace files by deleting the oldest trace file before opening a new trace file. SQL Server tracks the age of trace files by appending a number to the base file name.
17 дек 15, 16:09    [18573754]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с профайлером.  [new]
pXn
Member

Откуда: Косопузая
Сообщений: 45
abrashka
День добрый!
4) В догонку к предидушему вопросу, если запускать трейс не через GUI, то при сохранении в файл при помощи sp_trace_create в параметре @filecount можно указать только количество файлов, я правильно понял? Т.е. нет возможности ограничить количество строк или еще лучше удалять записи старше Х дней?

...

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

Спасибо еще раз!


sp_trace_create @traceid output, @options, @tracefile, @maxfilesize, @stoptime, @filecount

@options = TRACE_FILE_ROLLOVER = 2 - Установить циклическую запись файлов
Размер и количество файлов подобрать опытным путем.
17 дек 15, 16:14    [18573784]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с профайлером.  [new]
pXn
Member

Откуда: Косопузая
Сообщений: 45
--для циклической трассировки (3 файла):
exec @rc = sp_trace_create @TraceID output, 2, @TrcFile, @maxfilesize, NULL, 3
17 дек 15, 16:16    [18573796]     Ответить | Цитировать Сообщить модератору
 Re: Помогите плз разобраться с профайлером.  [new]
abrashka
Member

Откуда:
Сообщений: 517
Glory,
pXn,
Спасибо!
Опцию @filecount я знаю, но в моем случае может быть 20 файлов в один день и один файл в несколько дней, поэтому интересует именно возможность удаления по дате.

Если же такой возможности нет, то скорее всего использую именно @filecount.
17 дек 15, 16:40    [18573911]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить