Sdílet prostřednictvím


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.

Transact-SQL konvence syntaxe

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