Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.trcatd.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.trca 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_addnewqueuexp_trace_setqueuecreateinfoxp_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_createmusí 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