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

Откуда:
Сообщений: 21
Имею MS SQL 2005
Запустил на нем трассировку, с сохранением результатов в файл через ADODB.Connection
Файлик создается, трасса в него пишется.
Хочу завершить трасировку и по примеру из MSDN для 2008-го делаю:


declare @trace_id as int
SELECT @trace_id = TraceID FROM ::fn_trace_getinfo(default) WHERE VALUE = N'.....'
exec sp_trace_setstatus @trace_id, 0
exec sp_trace_setstatus @trace_id, 2

где вместо .... это нормальное имя файла с расширением, но при выполнении получаю ошибку:
Procedure expects parameter '@traceid' of type 'int'

Ошибка на строке с exec sp_trace_setstatus
1. непонятно почему в сообщении в traceid нет подчеркивания
2. Если выполнить
declare @trace_id as int
SELECT @trace_id = TraceID FROM ::fn_trace_getinfo(default) WHERE VALUE = N'.....'
SELECT @trace_id

То я получаю одно целое число и непонятно почему потом в exec sp_trace_setstatus ошибка.

Подскажите что я не так делаю
21 фев 12, 01:03    [12127029]     Ответить | Цитировать Сообщить модератору
 Re: Завершение трассировки  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8877
declare @trace_id int = null;
exec sp_trace_setstatus @trace_id , 0


Я так понимаю, что ваш селект возвращает в идентификатор трассировки null
21 фев 12, 02:05    [12127093]     Ответить | Цитировать Сообщить модератору
 Re: Завершение трассировки  [new]
Simol
Member

Откуда:
Сообщений: 21
SIMPLicity_
declare @trace_id int = null;
exec sp_trace_setstatus @trace_id , 0


На такое получаю:
Msg 139, Level 15, State 1, Line 0
Cannot assign a default value to a local variable.
Msg 137, Level 15, State 2, Line 2
Must declare the scalar variable "@trace_id".



SIMPLicity_
Я так понимаю, что ваш селект возвращает в идентификатор трассировки null

Нет, вот это:
declare @trace_id as int
SELECT @trace_id = TraceID FROM ::fn_trace_getinfo(default) WHERE VALUE = N'.....'
SELECT @trace_id

Возвращает 2
21 фев 12, 11:18    [12128332]     Ответить | Цитировать Сообщить модератору
 Re: Завершение трассировки  [new]
Glory
Member

Откуда:
Сообщений: 104751
exec sp_trace_setstatus @traceid=@trace_id, @status=0
21 фев 12, 11:27    [12128400]     Ответить | Цитировать Сообщить модератору
 Re: Завершение трассировки  [new]
Simol
Member

Откуда:
Сообщений: 21
Glory
exec sp_trace_setstatus @traceid=@trace_id, @status=0

Спасибо!
Неожиданное решение :)
21 фев 12, 11:35    [12128464]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить