sp_trace_create (Transact-SQL)
platí pro:SQL Server
Vytvoří definici trasování. Nové trasování je v zastaveném stavu.
Důležitý
Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Místo toho použijte rozšířené události.
Syntax
sp_trace_create
[ @traceid = ] traceid OUTPUT
, [ @options = ] options
, [ @tracefile = ] N'tracefile'
[ , [ @maxfilesize = ] maxfilesize ]
[ , [ @stoptime = ] 'stoptime' ]
[ , [ @filecount = ] filecount ]
[ ; ]
Argumenty
Důležitý
Argumenty rozšířených uložených procedur musí být zadány v určitém pořadí, jak je popsáno v části Syntaxe. Pokud jsou parametry zadány mimo pořadí, dojde k chybové zprávě.
[ @traceid = ] traceid OUTPUT
Číslo přiřazené SQL Serverem k novému trasování. Jakýkoli vstup zadaný uživatelem se ignoruje.
@traceid je výstupní parametr typu ints výchozím NULL
. Uživatel používá hodnotu @traceid k identifikaci, úpravě a řízení trasování definované touto uloženou procedurou.
[ @options = ] možnosti
Určuje možnosti nastavené pro trasování.
@options je , bez výchozího nastavení. Můžete zvolit kombinaci těchto možností zadáním hodnoty součtu vybraných možností. Pokud chcete například zapnout obě možnosti TRACE_FILE_ROLLOVER
i SHUTDOWN_ON_ERROR
, zadejte 6
pro @options.
Následující tabulka uvádí možnosti, popisy a jejich hodnoty.
Název možnosti | Hodnota možnosti | Popis |
---|---|---|
TRACE_FILE_ROLLOVER |
2 |
Určuje, že po dosažení @filecount se aktuální trasovací soubor zavře a vytvoří se nový soubor. Všechny nové záznamy se zapíšou do nového souboru. Nový soubor má stejný název jako předchozí soubor, ale celé číslo je připojeno k označení jeho posloupnosti. Pokud je například původní trasovací soubor pojmenován filename.trc , další trasovací soubor má název filename_1.trc , následující trasovací soubor je filename_2.trc atd.Při vytváření více trasovacích souborů rolloveru se hodnota celého čísla připojená k názvu souboru postupně zvyšuje. SQL Server používá výchozí hodnotu @filecount (5 MB), pokud je tato možnost zadána bez zadání hodnoty pro @filecount. |
SHUTDOWN_ON_ERROR |
4 |
Určuje, že pokud trasování nelze zapsat do souboru z jakéhokoli důvodu, SQL Server se vypne. Tato možnost je užitečná při provádění trasování auditu zabezpečení. |
TRACE_PRODUCE_BLACKBOX |
8 |
Určuje, že server uloží záznam posledních 5 MB informací o trasování vytvořených serverem.
TRACE_PRODUCE_BLACKBOX není kompatibilní se všemi ostatními možnostmi. |
[ @tracefile = ] N'tracefile'
Určuje umístění a název souboru, do kterého je trasování zapsáno.
@tracefile je nvarchar(245) bez výchozího nastavení.
@tracefile může být místní adresář (například N'C:\MSSQL\Trace\trace.trc'
) nebo UNC ke sdílené složce nebo cestě (například N'\\<servername>\<sharename>\<directory>\trace.trc'
).
SQL Server připojí příponu .trc
ke všem názvům trasovacích souborů. Pokud je zadána možnost TRACE_FILE_ROLLOVER
a @filecount, SQL Server vytvoří nový trasovací soubor, když původní trasovací soubor roste na maximální velikost. Nový soubor má stejný název jako původní soubor, ale _n je připojen k označení jeho posloupnosti počínaje 1
. Pokud je například první trasovací soubor pojmenován filename.trc
, druhý trasovací soubor má název filename_1.trc
.
Pokud používáte možnost TRACE_FILE_ROLLOVER
, doporučujeme nepoužívat podtržítka v původním názvu trasovacího souboru. Pokud používáte podtržítka, dojde k následujícímu chování:
SQL Server Profiler se automaticky nenačte nebo vás vyzve k načtení souborů rolloveru (pokud je nakonfigurovaná některý z těchto možností vrácení souborů).
Funkce sys.fn_trace_gettable nenačítá soubory vrácení (pokud je zadáno pomocí argumentu @number_files), kde původní název souboru končí podtržítkem a číselnou hodnotou. (Nevztahuje se to na podtržítko a číslo, které se při převrácení souboru automaticky připojí.)
Poznámka
Jako alternativní řešení obou těchto chování můžete soubory přejmenovat a odebrat podtržítka v původním názvu souboru. Pokud je například původní soubor pojmenován my_trace.trc
a soubor přechodu má název my_trace_1.trc
, můžete soubory přejmenovat na mytrace.trc
a mytrace_1.trc
před otevřením souborů v SQL Server Profileru.
@tracefile nelze zadat při použití možnosti TRACE_PRODUCE_BLACKBOX
.
[ @maxfilesize = ] maxfilesize
Určuje maximální velikost v megabajtech (MB), které může trasovací soubor zvětšit.
@maxfilesize je bigints výchozí hodnotou 5
.
Pokud je tento parametr zadán bez možnosti TRACE_FILE_ROLLOVER
, trasování zastaví záznam do souboru, pokud využité místo na disku překročí množství určené @maxfilesize.
[ @stoptime = ] 'stoptime'
Určuje datum a čas zastavení trasování.
@stoptime je datetime s výchozím nastavením NULL
. Pokud NULL
, trasování se spustí, dokud ho ručně nezastavíte nebo dokud server nevypíná.
Pokud jsou zadány @stoptime i @maxfilesize a TRACE_FILE_ROLLOVER
není zadána, trasování se v horní části při dosažení zadané doby zastavení nebo maximální velikosti souboru. Pokud jsou zadány @stoptime, @maxfilesizea TRACE_FILE_ROLLOVER
, trasování se zastaví v zadané době zastavení za předpokladu, že trasování nenaplní jednotku.
[ @filecount = ] 'filecount'
Určuje maximální počet nebo trasovací soubory, které se mají zachovat se stejným základním názvem souboru.
@filecount je , větší než 1
. Tento parametr je platný pouze v případě, že je zadána možnost TRACE_FILE_ROLLOVER
. Pokud je zadán @filecount, SQL Server se pokusí zachovat maximálně @filecount trasovací soubory odstraněním nejstaršího trasovacího souboru před otevřením nového trasovacího souboru. SQL Server sleduje věk trasovacích souborů připojením čísla k názvu základního souboru.
Pokud je například parametr @tracefile zadán jako C:\mytrace
, soubor s názvem C:\mytrace_123.trc
je starší než soubor s názvem C:\mytrace_124.trc
. Pokud je @filecount nastavena na 2
, SQL Server odstraní soubor C:\mytrace_123.trc
před vytvořením trasovacího souboru C:\mytrace_125.trc
.
SQL Server se pokusí odstranit každý soubor jenom jednou a nemůže odstranit soubor, který používá jiný proces. Proto pokud jiná aplikace pracuje s trasovacími soubory v době, kdy je trasování spuštěné, SQL Server může ponechat tyto trasovací soubory v systému souborů.
Návratové hodnoty kódu
Následující tabulka popisuje hodnoty kódu, které můžete získat po dokončení uložené procedury.
Návratový kód | Popis |
---|---|
0 |
Žádná chyba. |
1 |
Neznámá chyba. |
10 |
Neplatné možnosti Vráceno, když jsou zadané možnosti nekompatibilní. |
12 |
Soubor nebyl vytvořen. |
13 |
Nedostatek paměti. Vráceno, pokud není dostatek paměti k provedení zadané akce. |
14 |
Neplatný čas zastavení Vrátí se, když se zadaný čas zastavení již stalo. |
15 |
Neplatné parametry. Vráceno, když uživatel zadal nekompatibilní parametry. |
Poznámky
sp_trace_create
je uložená procedura SQL Serveru, která provádí řadu akcí, které byly dříve provedeny xp_trace_*
rozšířenými uloženými procedurami dostupnými v dřívějších verzích SQL Serveru. Místo těchto sp_trace_create
použijte:
xp_trace_addnewqueue
xp_trace_setqueuecreateinfo
xp_trace_setqueuedestination
sp_trace_create
vytvoří pouze definici trasování. Tuto uloženou proceduru nelze použít ke spuštění ani změně trasování.
Parametry všech uložených procedur sql Trace (sp_trace_*
) jsou výhradně zadané. Pokud tyto parametry nejsou volána se správnými datovými typy vstupních parametrů, jak je uvedeno v popisu argumentu, uložená procedura vrátí chybu.
Pro sp_trace_create
musí mít účet služby SYSTÉMU SQL Server oprávnění zápisu ke složce trasovacího souboru. Pokud účet služby SQL Serveru není správcem v počítači, kde se nachází trasovací soubor, musíte explicitně udělit oprávnění k zápisu účtu služby SYSTÉMU SQL Server.
Poznámka
Trasovací soubor vytvořený pomocí sp_trace_create
můžete automaticky načíst do tabulky pomocí systémové funkce fn_trace_gettable
. Další informace naleznete v tématu sys.fn_trace_gettable.
Příklad použití uložených procedur trasování najdete v tématu Vytvořenítrasování .
TRACE_PRODUCE_BLACKBOX
má následující charakteristiky:
Je to trasování přechodu. Výchozí @filecount je 2, ale uživatel ji může přepsat pomocí možnosti @filecount.
Výchozí @maxfilesize, stejně jako u jiných trasování, je 5 MB a lze ji změnit.
Nelze zadat žádný název souboru. Soubor je uložen jako:
N'%SQLDIR%\MSSQL\DATA\blackbox.trc'
.Trasování obsahuje pouze následující události a jejich sloupce:
- spouštění RPC
- spuštění Batch
- výjimky
- pozornost
Události nebo sloupce nelze z tohoto trasování přidat ani odebrat.
Pro toto trasování nelze zadat filtry.
Dovolení
Vyžaduje oprávnění ALTER TRACE.
Související obsah
- sp_trace_generateevent (Transact-SQL)
- sp_trace_setevent (Transact-SQL)
- sp_trace_setfilter (Transact-SQL)
- sp_trace_setstatus (Transact-SQL)
- trasování SQL