Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Létrehoz egy nyomkövetési definíciót. Az új nyomkövetés leállt állapotban van.
Fontos
Ez a funkció az SQL Server egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. Használja helyette a Bővített események parancsot.
Transact-SQL szintaxis konvenciói
Szintaxis
sp_trace_create
[ @traceid = ] traceid OUTPUT
, [ @options = ] options
, [ @tracefile = ] N'tracefile'
[ , [ @maxfilesize = ] maxfilesize ]
[ , [ @stoptime = ] 'stoptime' ]
[ , [ @filecount = ] filecount ]
[ ; ]
Érvek
Fontos
A kiterjesztett tárolt eljárások argumentumait a Szintaxis szakaszban leírt sorrendben kell megadni. Ha a paraméterek sorrenden kívül vannak beírva, hibaüzenet jelenik meg.
[ @traceid = ] traceid OUTPUT
Az SQL Server által az új nyomkövetéshez rendelt szám. A rendszer figyelmen kívül hagyja a felhasználó által megadott adatokat.
@traceidtípusú OUTPUT paraméter, alapértelmezett értéke NULL. A felhasználó a @traceid értéket alkalmazza a tárolt eljárás által meghatározott nyomkövetés azonosítására, módosítására és szabályozására.
[ @options = ] beállítások
Megadja a nyomkövetéshez megadott beállításokat.
@optionsint, alapértelmezés nélkül. Ezeknek a beállításoknak a kombinációját a kiválasztott beállítások összegének megadásával választhatja ki. A TRACE_FILE_ROLLOVER és a SHUTDOWN_ON_ERRORbeállítás bekapcsolásához például adja meg a @options6.
Az alábbi táblázat a beállításokat, leírásokat és azok értékeit sorolja fel.
| Beállítás neve | Beállítás értéke | Leírás |
|---|---|---|
TRACE_FILE_ROLLOVER |
2 |
Megadja, hogy a @filecount elérésekor a rendszer bezárja az aktuális nyomkövetési fájlt, és létrehoz egy új fájlt. A rendszer minden új rekordot az új fájlba ír. Az új fájl neve megegyezik az előző fájl nevével, de egy egész szám van hozzáfűzve, hogy jelezze a sorozatát. Ha például az eredeti nyomkövetési fájl neve filename.trc, a következő nyomkövetési fájl neve filename_1.trc, a következő nyomkövetési fájl filename_2.trc, és így tovább.A több átgörgető nyomkövetési fájl létrehozásakor a fájlnévhez hozzáfűzött egész szám egymás után növekszik. Az SQL Server a @filecount (5 MB) alapértelmezett értékét használja, ha ez a beállítás @filecountértékének megadása nélkül van megadva. |
SHUTDOWN_ON_ERROR |
4 |
Megadja, hogy ha a nyomkövetés bármilyen okból nem írható a fájlba, az SQL Server leáll. Ez a beállítás biztonsági naplózási nyomkövetések végrehajtásakor hasznos. |
TRACE_PRODUCE_BLACKBOX |
8 |
Megadja, hogy a kiszolgáló által előállított nyomkövetési információk utolsó 5 MB-jának rekordját a kiszolgáló mentse.
TRACE_PRODUCE_BLACKBOX nem kompatibilis az összes többi beállítással. |
[ @tracefile = ] N'tracefile'
Megadja a nyomkövetés helyét és fájlnevét.
@tracefile alapértelmezés nélkül nvarchar(245).
@tracefile lehet helyi könyvtár (például N'C:\MSSQL\Trace\trace.trc') vagy egy megosztáshoz vagy elérési úthoz tartozó UNC (például N'\\<servername>\<sharename>\<directory>\trace.trc').
Az SQL Server hozzáfűz egy .trc kiterjesztést az összes nyomkövetési fájlnévhez. Ha meg van adva a TRACE_FILE_ROLLOVER beállítás és egy @filecount, az SQL Server új nyomkövetési fájlt hoz létre, amikor az eredeti nyomkövetési fájl mérete eléri a maximális méretét. Az új fájl neve megegyezik az eredeti fájl nevével, de a _n hozzá van fűzve, hogy jelezze a sorozatát, kezdve a 1. Ha például az első nyomkövetési fájl neve filename.trc, a második nyomkövetési fájl neve filename_1.trc.
Ha a TRACE_FILE_ROLLOVER lehetőséget használja, javasoljuk, hogy ne használjon aláhúzásjeleket az eredeti nyomkövetési fájlnévben. Ha aláhúzásokat használ, a következő viselkedés következik be:
Az SQL Server Profiler nem töltődik be automatikusan, és nem kéri az átgörgető fájlok betöltését (ha a fájláthelyezési beállítások valamelyike konfigurálva van).
A sys.fn_trace_gettable függvény nem tölt be átgörgető fájlokat (ha az @number_files argumentummal van megadva), ahol az eredeti fájlnév aláhúzásjellel és numerikus értékkel végződik. (Ez nem vonatkozik arra az aláhúzásra és számra, amelyet a rendszer automatikusan hozzáfűz egy fájl átgörgetésekor.)
Jegyzet
Mindkét viselkedés kerülő megoldásaként átnevezheti a fájlokat, hogy eltávolítsa az aláhúzásjeleket az eredeti fájlnévből. Ha például az eredeti fájl neve my_trace.trc, és az átállásos fájl neve my_trace_1.trc, a fájlok átnevezhetők mytrace.trc és mytrace_1.trc, mielőtt megnyitják a fájlokat az SQL Server Profilerben.
@tracefile nem adhatók meg a TRACE_PRODUCE_BLACKBOX beállítás használatakor.
[ @maxfilesize = ] maxfilesize
Megabájtban (MB) határozza meg a nyomkövetési fájlok növekedésének maximális méretét.
@maxfilesizebigint, alapértelmezett értéke 5.
Ha ez a paraméter a TRACE_FILE_ROLLOVER beállítás nélkül van megadva, a nyomkövetés leállítja a fájlba való felvételt, ha a felhasznált lemezterület meghaladja a @maxfilesizeáltal megadott értéket.
[ @stoptime = ] 'stoptime'
Megadja a nyomkövetés leállításának dátumát és időpontját.
@stoptimedatetime, alapértelmezett értéke NULL. Ha NULL, a nyomkövetés addig fut, amíg manuálisan le nem áll, vagy amíg a kiszolgáló le nem áll.
Ha @stoptime és @maxfilesize is meg van adva, és TRACE_FILE_ROLLOVER nincs megadva, a nyomkövetési csúcsok a megadott leállítási idő vagy a maximális fájlméret elérésekor jelennek meg. Ha @stoptime, @maxfilesizeés TRACE_FILE_ROLLOVER van megadva, a nyomkövetés a megadott leállítási időpontban leáll, feltéve, hogy a nyomkövetés nem tölti ki a meghajtót.
[ @filecount = ] 'filecount'
Megadja az azonos alapfájlnévvel karbantartandó maximális szám- vagy nyomkövetési fájlokat.
@filecountint, nagyobb, mint 1. Ez a paraméter csak akkor érvényes, ha a TRACE_FILE_ROLLOVER beállítás meg van adva. Ha @filecount van megadva, az SQL Server legfeljebb @filecount nyomkövetési fájlokat próbál fenntartani úgy, hogy törli a legrégebbi nyomkövetési fájlt egy új nyomkövetési fájl megnyitása előtt. Az SQL Server egy számnak az alapfájlnévhez való hozzáfűzésével nyomon követi a nyomkövetési fájlok életkorát.
Ha például a @tracefile paraméter C:\mytracevan megadva, a C:\mytrace_123.trc nevű fájl régebbi, mint a C:\mytrace_124.trcnevű fájl. Ha @filecount2értékre van állítva, az SQL Server törli a fájlt C:\mytrace_123.trc a nyomkövetési fájl C:\mytrace_125.trclétrehozása előtt.
Az SQL Server csak egyszer próbálja törölni az egyes fájlokat, és egy másik folyamat által használt fájlt nem tud törölni. Ezért ha egy másik alkalmazás nyomkövetési fájlokkal dolgozik a nyomkövetés futtatása közben, előfordulhat, hogy az SQL Server ezeket a nyomkövetési fájlokat a fájlrendszerben hagyja.
Kódértékek visszaadása
Az alábbi táblázat a tárolt eljárás befejezését követően lekérhető kódértékeket ismerteti.
| Kód visszaadása | Leírás |
|---|---|
0 |
Nincs hiba. |
1 |
Ismeretlen hiba. |
10 |
Érvénytelen beállítások. Akkor adja vissza, ha a megadott beállítások nem kompatibilisek. |
12 |
A fájl nincs létrehozva. |
13 |
Nincs memóriája. Akkor adja vissza, ha nincs elegendő memória a megadott művelet végrehajtásához. |
14 |
Érvénytelen leállítási idő. Akkor adja vissza, ha a megadott leállítási idő már megtörtént. |
15 |
Érvénytelen paraméterek. Akkor adja vissza, ha a felhasználó nem kompatibilis paramétereket adott meg. |
Megjegyzések
sp_trace_create egy SQL Server által tárolt eljárás, amely végrehajtja az SQL Server korábbi verzióiban elérhető kiterjesztett tárolt eljárások xp_trace_* által korábban végrehajtott műveletek nagy részét. A következő helyett használja a sp_trace_create:
xp_trace_addnewqueuexp_trace_setqueuecreateinfoxp_trace_setqueuedestination
sp_trace_create csak nyomkövetési definíciót hoz létre. Ez a tárolt eljárás nem használható nyomkövetés indítására vagy módosítására.
Az SQL Trace által tárolt összes eljárás (sp_trace_*) paraméterei szigorúan be vannak gépelve. Ha ezek a paraméterek nem a megfelelő bemeneti paraméter adattípusokkal vannak meghívva, az argumentum leírásában megadottak szerint a tárolt eljárás hibát ad vissza.
sp_trace_createesetén az SQL Server szolgáltatásfiókjának írási engedéllyel kell rendelkeznie a nyomkövetési fájl mappájában. Ha az SQL Server szolgáltatásfiók nem rendszergazda azon a számítógépen, amelyen a nyomkövetési fájl található, explicit módon írási engedélyt kell adnia az SQL Server szolgáltatásfiókjának.
Jegyzet
A sp_trace_create létrehozott nyomkövetési fájlt automatikusan betöltheti egy táblába a fn_trace_gettable rendszerfüggvény használatával. További információ: sys.fn_trace_gettable.
A nyomkövetési tárolt eljárások használatára példa: Nyomkövetésilétrehozása.
TRACE_PRODUCE_BLACKBOX a következő jellemzőkkel rendelkezik:
Ez egy átgördítő nyom. Az alapértelmezett @filecount 2, de a felhasználó felülírhatja @filecount beállítással.
Az alapértelmezett @maxfilesize– a többi nyomkövetéshez hasonlóan – 5 MB, és módosítható.
Nem adható meg fájlnév. A fájl mentése a következőként történik:
N'%SQLDIR%\MSSQL\DATA\blackbox.trc'.A nyomkövetés csak a következő eseményeket és azok oszlopait tartalmazza:
- RPC indítása
- Batch indítása
- kivétel
- Figyelem
Az események vagy oszlopok nem vehetők fel vagy távolíthatók el ebből a nyomkövetésből.
Ehhez a nyomkövetéshez nem lehet szűrőket megadni.
Engedélyek
ALTER TRACE-engedélyt igényel.