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
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric Preview
Er wordt een sessie met uitgebreide gebeurtenissen gemaakt in het SQL Server Database Engine-proces dat als host fungeert voor de engine voor uitgebreide gebeurtenissen. De volgende aspecten van een sessie met uitgebreide gebeurtenissen bieden een context voor inzicht in de infrastructuur voor uitgebreide gebeurtenissen en de verwerking die plaatsvindt:
Sessiestatussen. De verschillende statussen dat een sessie uitgebreide gebeurtenissen zich bevindt wanneer
CREATE EVENT SESSIONenALTER EVENT SESSIONinstructies worden uitgevoerd.Sessie-inhoud en -kenmerken. De inhoud van een sessie met uitgebreide gebeurtenissen, zoals doelen en gebeurtenissen, en hoe deze objecten zijn gerelateerd in een sessie of tussen sessies.
Sessiestatussen
In de volgende afbeelding ziet u de verschillende statussen van een sessie met uitgebreide gebeurtenissen.
Als u naar de vorige afbeelding verwijst, ziet u dat sessiestatus verandert wanneer de verschillende DDL-opdrachten (Data Definition Language) worden uitgegeven voor een gebeurtenissessie. In de volgende tabel worden deze wijzigingen in de status beschreven.
| Afbeeldingslabel | DDL-instructie | Description |
|---|---|---|
Create |
CREATE EVENT SESSION |
Het hostproces maakt een sessieobject dat de metagegevens bevat die door CREATE EVENT SESSION. Het hostproces valideert de sessiedefinitie, valideert het machtigingsniveau van de gebruiker en slaat de metagegevens op in de master database. Op dit moment is de sessie niet actief. |
Alter |
ALTER EVENT SESSION, STATE=START |
Het hostproces start de sessie. Het hostproces leest de opgeslagen metagegevens, valideert de sessiedefinitie, controleert het niveau van de gebruikersmachtiging en maakt de sessie. Sessieobjecten, zoals gebeurtenissen en doelen, worden geladen en gebeurtenisafhandeling is actief. |
Alter |
ALTER EVENT SESSION, STATE=STOP |
Het hostproces stopt de actieve sessie, maar behoudt de metagegevens. |
Drop |
DROP EVENT SESSION |
Afhankelijk van of de sessie actief is, verwijdert (DROP SESSION) u de metagegevens en sluit u de actieve sessie of verwijdert u de sessiemetagegevens. |
Sessie-inhoud en -kenmerken
Uitgebreide gebeurtenissensessies hebben impliciete grenzen omdat de configuratie van één sessie de configuratie van een andere sessie niet wijzigt. Deze grenzen verhinderen echter niet dat een gebeurtenis of doeltype in meer dan één sessie wordt gebruikt.
In de volgende afbeelding ziet u sessie-inhoud en de relatie tussen pakketten en sessies.
Houd rekening met het volgende:
- De toewijzing tussen pakketobjecten en sessies is veel op veel, wat betekent dat een object van een bepaald type in verschillende sessies kan worden weergegeven en dat een sessie meerdere objecten kan bevatten.
- Dezelfde gebeurtenis (gebeurtenis 1) of doeltype (Doel 1) kan in meer dan één sessie worden gebruikt.
Sessies hebben de volgende kenmerken:
- Acties en predicaten zijn afhankelijk van gebeurtenissen per sessie. Als u gebeurtenis 1 in sessie A met actie 1 en predicaat Z hebt, heeft dit geen invloed op gebeurtenis 1 in sessie B met actie 2 en actie 3 zonder predicaat.
- Beleidsregels zijn gekoppeld aan sessies voor het afhandelen van buffering en verzending en causaliteitstracering.
Buffering verwijst naar hoe gebeurtenisgegevens worden opgeslagen terwijl een gebeurtenissessie wordt uitgevoerd. Bufferbeleid geeft aan hoeveel geheugen moet worden gebruikt voor gebeurtenisgegevens en het verliesbeleid voor de gebeurtenissen. Verzending verwijst naar de duur van tijdgebeurtenissen die in buffers blijven voordat ze worden geleverd aan doelen voor verwerking.
Causaliteitstracering houdt werk bij voor meerdere taken. Wanneer causaliteitstracering is ingeschakeld, heeft elke geactiveerde gebeurtenis een unieke activiteits-id in het systeem. De activiteits-id is een combinatie van een GUID-waarde die constant blijft voor alle gebeurtenissen voor een taak en een volgnummer dat wordt verhoogd telkens wanneer een gebeurtenis wordt geactiveerd. Wanneer de ene taak ervoor zorgt dat er aan een andere taak wordt gewerkt, wordt de activiteits-id van het bovenliggende item naar de onderliggende taak verzonden. De onderliggende taak voert de activiteits-id van de bovenliggende taak uit wanneer deze de eerste keer een gebeurtenis opent.
Tijdgebonden gebeurtenissessies
Vanaf SQL Server 2025 (17.x) Preview kunt u een gebeurtenissessie maken die automatisch stopt nadat de opgegeven tijd is verstreken. Dit helpt situaties te voorkomen waarin sessies voor onbepaalde tijd kunnen worden uitgevoerd door per ongeluk resources te verbruiken en mogelijk een grote hoeveelheid gegevens te genereren.
Wanneer de gebeurtenisgegevens die door een sessie worden geproduceerd volumineuze, tijdgebonden gebeurtenissessies helpen u kleinere, gerichte diagnostische gegevens vast te leggen voor specifieke tijdsduur. U kunt een tijdgebonden gebeurtenissessie handmatig starten of een geplande taak gebruiken op het moment van uw keuze en met een garantie dat de sessie niet voor onbepaalde tijd wordt uitgevoerd.
Als u een tijdsgebonden gebeurtenissessie wilt maken, geeft u het argument op bij het MAX_DURATION maken of wijzigen van de sessie. Zie GEBEURTENISSESSIE MAKEN en ALTER EVENT SESSION voor meer informatie.
Net als elke gebeurtenissessie kunt u een tijdgebonden sessie stoppen voordat de maximale duur ervan is verstreken met behulp van de ALTER EVENT SESSION ... STATE = STOP instructie. Als de sessie opnieuw wordt gestart, moet de volledige tijdsduur die is opgegeven, MAX_DURATION opnieuw verlopen voordat de sessie automatisch wordt gestopt.
U kunt een bestaande gebeurtenissessie ook wijzigen met behulp van ALTER EVENT SESSION een andere maximale duur of verwijderen door deze op te MAX_DURATION = UNLIMITEDgeven. Als u de MAX_DURATION instelling wilt wijzigen, moet de sessie worden gestopt.
Als een gebeurtenissessie tijdsgebonden is, geeft de max_duration kolom in sys.server_event_sessions catalogusweergave de maximale duur van de sessie in seconden weer. De gebeurtenissessie heeft onbeperkte duur als de waarde nul is.