Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
In SQL Trace worden gebeurtenissen verzameld als dit exemplaren zijn van gebeurtenisklassen die worden vermeld in de traceringsdefinitie. Deze gebeurtenissen kunnen uit de tracering worden gefilterd of in de wachtrij worden geplaatst voor de bestemming. De bestemming kan een bestand of SMO (SQL Server Management Objects) zijn, die de traceringsgegevens kunnen gebruiken in toepassingen die SQL Server beheren.
Belangrijk
SQL Trace en SQL Server Profiler zijn afgeschaft. De Microsoft.SqlServer.Management.Trace naamruimte die de Microsoft SQL Server Trace- en Replay-objecten bevat, worden ook afgeschaft.
Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.
Gebruik in plaats daarvan uitgebreide gebeurtenissen. Zie Quick Start: Uitgebreide gebeurtenissen in SQL Server en SSMS XEvent Profiler voor meer informatie over uitgebreide gebeurtenissen.
Voordelen van SQL Trace
Microsoft SQL Server biedt systeem opgeslagen Transact-SQL procedures voor het maken van traces op een instance van de SQL Server Database Engine. Deze door het systeem opgeslagen procedures kunnen worden gebruikt vanuit uw eigen toepassingen om traceringen handmatig te maken in plaats van SQL Server Profiler te gebruiken. Hiermee kunt u aangepaste toepassingen schrijven die specifiek zijn voor de behoeften van uw onderneming.
SQL-traceringsarchitectuur
Gebeurtenisbronnen zijn elke bron die een traceringsgebeurtenis genereert, zoals Transact-SQL-batches of SQL Server-gebeurtenissen, zoals deadlocks. Zie referentiemateriaal voor SQL Server-gebeurtenisklassen voor meer informatie over gebeurtenissen. Nadat een gebeurtenis is opgetreden en de gebeurtenisklasse is opgenomen in een traceringsdefinitie, wordt de gebeurtenisinformatie door de tracering verzameld. Als filters zijn gedefinieerd voor de gebeurtenisklasse in de traceringsdefinitie, worden de filters toegepast en worden de traceringsgebeurtenisgegevens doorgegeven aan een wachtrij. Vanuit de wachtrij worden de traceringsgegevens naar een bestand geschreven of kunnen worden gebruikt door SMO in toepassingen, zoals SQL Server Profiler. In het volgende diagram ziet u hoe SQL Trace gebeurtenissen verzamelt tijdens een tracering.
SQL-traceringsterminologie
In de volgende termen worden de belangrijkste concepten van SQL Trace beschreven.
Event
Het optreden van een actie in een exemplaar van de Microsoft SQL Server Database Engine.
Gegevenskolom
Een kenmerk van een gebeurtenis.
Gebeurtenisklasse
Een type gebeurtenis dat kan worden getraceerd. De gebeurtenisklasse bevat alle gegevenskolommen die door een gebeurtenis kunnen worden gerapporteerd.
Gebeurteniscategorie
Een groep gerelateerde gebeurtenisklassen.
Trace (zelfstandig naamwoord)
Een verzameling gebeurtenissen en gegevens die worden geretourneerd door de database-engine.
Traceren (werkwoord)
Gebeurtenissen verzamelen en bewaken in een exemplaar van SQL Server.
Traceerdefinitie
Een verzameling gebeurtenisklassen, gegevenskolommen en filters die de typen gebeurtenissen identificeren die moeten worden verzameld tijdens een tracering.
Filteren
Criteria waarmee de gebeurtenissen die in een trace worden verzameld, worden beperkt.
Traceringsbestand
Een bestand dat wordt gemaakt wanneer een log wordt opgeslagen.
Template
In SQL Server Profiler definieert u een bestand dat de gebeurtenisklassen en gegevenskolommen definieert die moeten worden verzameld in een trace.
Traceringstabel
In SQL Server Profiler wordt een tabel gemaakt wanneer een tracering wordt opgeslagen in een tabel.
Gegevenskolommen gebruiken om geretourneerde gebeurtenissen te beschrijven
SQL Trace maakt gebruik van gegevenskolommen in de traceringsuitvoer om gebeurtenissen te beschrijven die worden geretourneerd wanneer de tracering wordt uitgevoerd. In de volgende tabel worden de gegevenskolommen van SQL Server Profiler beschreven. Dit zijn dezelfde gegevenskolommen als de kolommen die worden gebruikt door SQL Trace en geven de kolommen aan die standaard zijn geselecteerd.
| Gegevenskolom | Kolomnummer | Description |
|---|---|---|
| * ApplicationName | 10 | De naam van de clientapplicatie die de verbinding met een instantie van SQL Server heeft gemaakt. Deze kolom wordt gevuld met de waarden die door de toepassing worden doorgegeven en niet de naam van het programma. |
| BigintData1 | 52 | Waarde (bigint-gegevenstype ), die afhankelijk is van de gebeurtenisklasse die is opgegeven in de tracering. |
| BigintData2 | 53 | Waarde (bigint-gegevenstype ), die afhankelijk is van de gebeurtenisklasse die is opgegeven in de tracering. |
| * Binaire gegevens | 2 | De binaire waarde is afhankelijk van de gebeurtenisklasse die in de trace wordt vastgelegd. |
| * ClientProcessID | 9 | De ID die door de hostcomputer is toegewezen aan het proces waarin de clientapplicatie draait. Deze gegevenskolom wordt ingevuld als de clientproces-id wordt opgegeven door de client. |
| ColumnPermissions | 44 | Geeft aan of er een kolomtoestemming is ingesteld. U kunt de instructietekst parseren om te bepalen welke machtigingen zijn toegepast op welke kolommen. |
| * CPU | 18 | De hoeveelheid CPU-tijd (in milliseconden) die door de gebeurtenis wordt gebruikt. |
| Database-id | 3 | De id van de database die is opgegeven met de instructie USE database_name of de id van de standaarddatabase als er geen USE database_name-instructieis uitgegeven voor een bepaald exemplaar. SQL Server Profiler toont de naam van de database als de ServerName-datakolom in de trace wordt vastgelegd en de server beschikbaar is. Bepaal de waarde voor een database met behulp van de functie DB_ID. |
| DatabaseName | 35 | De naam van de database waarin de gebruikersinstructie wordt uitgevoerd. |
| DBUserName | 40 | De SQL Server-gebruikersnaam van de client. |
| * tijdsduur | 13 | De duur (in microseconden) van de gebeurtenis. De server rapporteert de duur van een gebeurtenis in microseconden (één miljoen of 10-6, van een seconde) en de hoeveelheid CPU-tijd die wordt gebruikt door de gebeurtenis in milliseconden (duizendde of 10-3, van een seconde). In de grafische gebruikersinterface van SQL Server Profiler wordt de kolom Duur standaard in milliseconden weergegeven, maar wanneer een tracering wordt opgeslagen in een bestand of een databasetabel, wordt de kolomwaarde Duur geschreven in microseconden. |
| * Eindtijd | 15 | Het tijdstip waarop de gebeurtenis is beëindigd. Deze kolom is niet ingevuld voor gebeurtenisklassen die verwijzen naar een gebeurtenis die wordt gestart, zoals SQL:BatchStarting of SP:Starting. |
| Error | 31 | Het foutnummer van een bepaalde gebeurtenis. Dit is vaak het foutnummer dat is opgeslagen in sysmessages. |
| * EventClass | 27 | Het type gebeurtenisklasse dat wordt vastgelegd. |
| EventSequence | 51 | Volgnummer voor dit evenement. |
| EventSubClass | 21 | Het type gebeurtenissubklasse, dat meer informatie biedt over elke gebeurtenisklasse. De waarden voor de gebeurtenissubklasse voor de gebeurtenisklasse Uitvoeringswaarschuwing vertegenwoordigen bijvoorbeeld het type uitvoeringswaarschuwing: 1 = Query wacht. De query moet wachten op resources voordat deze kan worden uitgevoerd; bijvoorbeeld geheugen. 2 = Time-out voor de query. Er is een time-out opgetreden voor de query tijdens het wachten op de vereiste resources om uitgevoerd te worden. Deze gegevenskolom wordt niet ingevuld voor alle gebeurtenisklassen. |
| GUID | 54 | GUID-waarde die afhankelijk is van de gebeurtenisklasse die is opgegeven in de tracering. |
| Bestandsnaam | 36 | De logische naam van het bestand dat wordt gewijzigd. |
| Hendel | 33 | De integer die wordt gebruikt door ODBC, OLE DB of DB-Library om de serveruitvoering te coördineren. |
| HostNaam | 8 | De naam van de computer waarop de client draait. Deze gegevenskolom wordt ingevuld als de hostnaam wordt opgegeven door de client. Om de hostnaam te bepalen, gebruik je de functie HOST_NAME. |
| IndexID | 24 | De id voor de index van het object waarop de gebeurtenis betrekking heeft. Om de index-ID van een object te bepalen, gebruik je de indo-kolom van de systeemtabel sysindexes . |
| IntegerData | vijfentwintig | De geheel getalwaarde die afhankelijk is van de gebeurtenisklasse die in de tracering is vastgelegd. |
| IntegerData2 | 55 | De geheel getalwaarde die afhankelijk is van de gebeurtenisklasse die in de tracering is vastgelegd. |
| IsSystem- | 60 | Geeft aan of de gebeurtenis is opgetreden in een systeemproces of een gebruikersproces: 1 = systeem 0 = gebruiker |
| Lijnnummer | 5 | Bevat het nummer van de regel die de fout bevat. Voor gebeurtenissen die betrekking hebben op Transact-SQL instructies, zoals SP:StmtStarting, bevat het regelnummer van de instructie in de opgeslagen procedure of batch. |
| LinkedServerName | 45 | Naam van de gekoppelde server. |
| * Loginnaam | 11 | De naam van de inloggegevens van de gebruiker (ofwel SQL Server beveiligingslogin of de Windows-inloggegevens in de vorm van DOMAIN\Gebruikersnaam). |
| LoginSid | 41 | De beveiligings-id (SID) van de aangemelde gebruiker. U vindt deze informatie in de sys.server_principals weergave van de hoofddatabase . Elke aanmelding bij de server heeft een unieke id. |
| MethodName | 47 | Naam van de OLEDB-methode. |
| Mode | 32 | Het integer dat door verschillende gebeurtenissen wordt gebruikt om een status te beschrijven die door de gebeurtenis wordt aangevraagd of ontvangen is. |
| NestLevel | 29 | Het gehele getal dat de gegevens vertegenwoordigt die worden geretourneerd door @@NESTLEVEL. |
| NTDomainName | 7 | Het Microsoft Windows-domein waartoe de gebruiker behoort. |
| * NTUserName | 6 | De Gebruikersnaam van Windows. |
| ObjectID | 22 | De door het systeem toegewezen id van het object. |
| ObjectID2 | 56 | De id van het gerelateerde object of de gerelateerde entiteit, indien beschikbaar. |
| Objectname | 34 | De naam van het object waarnaar wordt verwezen. |
| ** ObjectType | 28 | De waarde die het type van het object aangeeft dat bij de gebeurtenis betrokken is. Deze waarde komt overeen met de typekolom in sysobjects. |
| Afstand | 61 | De begin-offset van de instructie binnen de opgeslagen procedure of batch. |
| OwnerID | 58 | Alleen voor vergrendelingsevenementen. Het type object dat eigenaar is van een vergrendeling. |
| EigenaarNaam | 37 | De gebruikersnaam van de database van de objecteigenaar. |
| Oudernaam | 59 | De naam van het schema waarin het object zich bevindt. |
| toestemmingen | 19 | De waarde van het gehele getal dat het type machtigingen aangeeft dat wordt gecontroleerd. Waarden zijn: 1 = ALLES SELECTEREN 2 = ALLES BIJWERKEN 4 = ALLE VERWIJZINGEN 8 = INSERT 16 = DELETE 32 = EXECUTE (alleen procedures) 4096 = SELECT ANY (ten minste één kolom) 8192 = WIJZIG ALLES 16384 = VERWIJZINGT IEDEREEN |
| ProviderName | 46 | Naam van de OLEDB-provider. |
| * Leest | 16 | Het aantal leesbewerkingen op de logische schijf die namens de gebeurtenis door de server worden uitgevoerd. Deze leesbewerkingen omvatten alle leesbewerkingen uit tabellen en buffers tijdens de uitvoering van de opdracht. |
| RequestID | 49 | ID van het verzoek dat de verklaring bevat. |
| RoleName | 38 | De naam van de toepassingsrol die wordt ingeschakeld. |
| RowCounts | 48 | Het aantal rijen in de batch. |
| Servernaam | 26 | De naam van het exemplaar van SQL Server dat wordt getraceerd. |
| SessionLoginName | 64 | De inlognaam van de gebruiker die de sessie heeft gestart. Als u bijvoorbeeld verbinding maakt met SQL Server met behulp van Login1 en een instructie uitvoert als Login2, geeft SessionLoginNameLogin1 weer terwijl LoginNameLogin2 weergeeft. In deze gegevenskolom worden zowel SQL Server- als Windows-aanmeldingen weergegeven. |
| Severity | 20 | Het ernstniveau van de uitzonderingsgebeurtenis. |
| SourceDatabaseID | 62 | De id van de database waarin de bron van het object bestaat. |
| * SPID | 12 | De sessie-id (SPID) die door SQL Server wordt toegewezen aan het proces dat is gekoppeld aan de client. |
| SqlHandle | 63 | 64-bits hash gebaseerd op de tekst van een ad hoc-query of de database- en object-ID van een SQL-object. Deze waarde kan worden doorgegeven aan sys.dm_exec_sql_text() om de bijbehorende SQL-tekst op te halen. |
| * Starttime | 14 | Het tijdstip waarop het evenement begon, wanneer beschikbaar. |
| State | 30 | Foutstatuscode. |
| Succes | 23 | Geeft aan of de gebeurtenis is geslaagd. Waarden zijn onder andere: 1 = Geslaagd. 0 = Fout Een 1 betekent bijvoorbeeld een geslaagde controle van machtigingen en een 0 betekent een mislukte controle. |
| TargetLoginName | 42 | Voor acties die gericht zijn op een aanmelding, de naam van de doelaanmelding; Als u bijvoorbeeld een nieuwe aanmelding wilt toevoegen. |
| TargetLoginSid | 43 | Voor acties die gericht zijn op een aanmelding, de SID van de doelaanmelding; Als u bijvoorbeeld een nieuwe aanmelding wilt toevoegen. |
| TargetUserName | 39 | Voor acties die gericht zijn op een databasegebruiker, de naam van die gebruiker; Als u bijvoorbeeld machtigingen wilt verlenen aan een gebruiker. |
| * TextData | 1 | De tekstwaarde is afhankelijk van de gebeurtenisklasse die in de tracering wordt vastgelegd. Als u echter een geparameteriseerde query traceert, worden de variabelen niet weergegeven met gegevenswaarden in de kolom TextData . |
| Transactie-id | 4 | De door het systeem toegewezen ID van de transactie. |
| Typ | 57 | De geheel getalwaarde die afhankelijk is van de gebeurtenisklasse die in de tracering is vastgelegd. |
| * Schrijft | 17 | Het aantal schrijfbewerkingen van fysieke schijven dat namens de gebeurtenis door de server wordt uitgevoerd. |
| XactSequence | 50 | Een token om de huidige transactie te beschrijven. |
* Deze gegevenskolommen worden standaard ingevuld voor alle gebeurtenissen.
** Zie ObjectType Trace Event Column voor meer informatie over de kolom ObjectType-gegevens.
SQL-traceringstaken
| Taakbeschrijving | Onderwerp |
|---|---|
| Beschrijft hoe u traceringen maakt en uitvoert met behulp van Transact-SQL opgeslagen procedures. | Traceringen maken en uitvoeren met Transact-SQL opgeslagen procedures |
| Hierin wordt beschreven hoe u handmatige traceringen maakt met behulp van opgeslagen procedures op een exemplaar van de SQL Server Database Engine. | Handmatige traceringen maken met behulp van opgeslagen procedures |
| Beschrijft hoe u traceringsresultaten opslaat in het bestand waarin de traceringsresultaten worden geschreven. | Traceringsresultaten opslaan in een bestand |
| Hierin wordt beschreven hoe u de toegang tot traceringsgegevens verbetert met behulp van ruimte in de tijdelijke map. | Toegang tot traceringsgegevens verbeteren |
| Hierin wordt beschreven hoe u opgeslagen procedures gebruikt om een tracering te maken. | Een tracering maken (Transact-SQL) |
| Beschrijft hoe u opgeslagen procedures gebruikt om een filter te maken dat alleen de informatie ophaalt die u nodig hebt voor een gebeurtenis die wordt getraceerd. | Een traceringsfilter instellen (Transact-SQL) |
| Beschrijft hoe u opgeslagen procedures gebruikt om een bestaande tracering te wijzigen. | Een bestaande tracering wijzigen (Transact-SQL) |
| Beschrijft hoe u ingebouwde functies gebruikt om een opgeslagen tracering weer te geven. | Een opgeslagen trace (Transact-SQL) weergeven |
| Beschrijft hoe u ingebouwde functies gebruikt om traceringsfiltergegevens weer te geven. | Filtergegevens weergeven (Transact-SQL) |
| Beschrijft hoe u opgeslagen procedures gebruikt om een tracering te verwijderen. | Een tracering verwijderen (Transact-SQL) |
| Hierin wordt beschreven hoe u de prestatiekosten voor een tracering minimaliseert. | SQL-trace optimaliseren |
| Beschrijft hoe u een trace filtert om de overhead die tijdens een trace ontstaat, te minimaliseren. | Een tracering filteren |
| Beschrijft hoe u de hoeveelheid gegevens die door de tracering worden verzameld, minimaliseert. | Grootte van traceringsbestand en tabel beperken |
| Beschrijft de twee manieren om tracering te plannen in Microsoft SQL Server. | Traceringen plannen |
Zie ook
SQL Server Profiler Sjablonen en Rechten
SMO-programmeerhandleiding (SQL Server Management Objects)