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
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
A bővített események munkamenete a kiterjesztett események motort futtató SQL Server adatbázismotor folyamatában jön létre. A kiterjesztett események munkamenetének következő aspektusai kontextust biztosítanak a kiterjesztett események infrastruktúrájának és a feldolgozásnak a megértéséhez:
Munkamenet-állapotok. A kiterjesztett események munkamenetének különböző állapotai, amikor
CREATE EVENT SESSIONaALTER EVENT SESSIONrendszer végrehajtja az utasításokat.Munkamenet tartalma és jellemzői. A kiterjesztett események munkamenetének tartalma, például a célok és események, valamint az objektumok kapcsolatának ismertetése egy munkamenetben vagy munkamenetek között.
Munkamenet-állapotok
Az alábbi ábrán egy bővített események munkamenetének különböző állapotai láthatók.
Az előző ábrára hivatkozva figyelje meg, hogy a munkamenet állapota megváltozik, mivel a különböző adatdefiníciós nyelv (DDL) parancsok egy esemény-munkamenethez lesznek kiadva. Az alábbi táblázat ezeket az állapotváltozásokat ismerteti.
| Ábrafelirat | DDL utasítás | Description |
|---|---|---|
Create |
CREATE EVENT SESSION |
A gazdafolyamat létrehoz egy munkamenet-objektumot, amely a megadott metaadatokat CREATE EVENT SESSIONtartalmazza. A gazdafolyamat ellenőrzi a munkamenet definícióját, ellenőrzi a felhasználói jogosultsági szintet, és tárolja a metaadatokat az master adatbázisban. Ezen a ponton a munkamenet nem aktív. |
Alter |
ALTER EVENT SESSION, STATE=START |
A gazdafolyamat elindítja a munkamenetet. A gazdafolyamat beolvassa a tárolt metaadatokat, ellenőrzi a munkamenet definícióját, ellenőrzi a felhasználói jogosultság szintjét, és létrehozza a munkamenetet. A munkamenet-objektumok, például az események és a célok betöltve vannak, és az eseménykezelés aktív. |
Alter |
ALTER EVENT SESSION, STATE=STOP |
A gazdafolyamat leállítja az aktív munkamenetet, de megőrzi a metaadatokat. |
Drop |
DROP EVENT SESSION |
Attól függően, hogy a munkamenet aktív-e, a Drop (DROP SESSION) törli a metaadatokat, bezárja az aktív munkamenetet, vagy törli a munkamenet metaadatait. |
Munkamenet tartalma és jellemzői
A kiterjesztett események munkameneteinek hallgatólagos határai vannak abban, hogy az egyik munkamenet konfigurációja nem módosítja egy másik munkamenet konfigurációját. Ezek a határok azonban nem akadályozzák meg, hogy egy esemény vagy céltípus egynél több munkamenetben legyen használva.
Az alábbi ábrán a munkamenet tartalma, valamint a csomagok és a munkamenetek közötti kapcsolat látható.
Az előző ábrára hivatkozva vegye figyelembe, hogy:
- A csomagobjektumok és a munkamenetek közötti leképezés sok-sok, ami azt jelenti, hogy egy adott típusú objektum több munkamenetben is megjelenhet, és a munkamenetek több objektumot is tartalmazhatnak.
- Ugyanaz az esemény (1. esemény) vagy céltípus (1. cél) több munkamenetben is használható.
A munkamenetek jellemzői a következők:
- A műveletek és predikátumok munkamenetenkénti eseményekhez vannak kötve. Ha az A munkamenet 1. eseménye az 1. művelettel és a Z predikátummal rendelkezik, ez semmilyen módon nem befolyásolja az 1. eseményt a B munkamenetben a 2. művelettel és a 3. művelettel, predikátum nélkül.
- A szabályzatok a munkamenetekhez vannak csatolva, amelyek kezelik a pufferelést és a küldést, valamint az okozati összefüggések nyomon követését.
A pufferelés azt jelenti, hogy az eseményadatok hogyan tárolódnak egy esemény-munkamenet futtatása közben. A pufferelési szabályzatok meghatározzák, hogy mennyi memóriát használjon az eseményadatokhoz, és az események veszteségszabályzatát. A küldés azt az időtartamot jelenti, amíg az események pufferekben maradnak, mielőtt feldolgozásra szolgálnak fel célként.
Az ok-okozati összefüggés nyomon követése több tevékenységben is működik. Ha az oksági nyomkövetés engedélyezve van, minden aktivált esemény egyedi tevékenységazonosítóval rendelkezik a rendszeren. A tevékenységazonosító egy OLYAN GUID-érték kombinációja, amely állandó marad egy tevékenység összes eseményében, és egy sorszám, amely minden alkalommal növekszik, amikor egy esemény aktiválódik. Ha az egyik tevékenység miatt a munka egy másikon történik, a rendszer elküldi a szülő tevékenységazonosítóját a gyermekfeladatnak. A gyermekfeladat a szülő tevékenységazonosítóját adja ki, amikor először aktivál egy eseményt.
Időhöz kötött esemény-munkamenetek
Az SQL Server 2025 -től kezdve (17.x) létrehozhat egy esemény munkamenetet, amely a megadott idő leteltét követően automatikusan leáll. Ez segít elkerülni azokat az eseteket, amikor a munkamenetek véletlenül határozatlan ideig futnak, erőforrásokat használnak fel, és nagy mennyiségű adatot generálnak.
Ha a munkamenet által létrehozott eseményadatok terjedelmesek, az időhöz kötött esemény munkamenetek segítenek a kisebb, célzott diagnosztikai adatok meghatározott időtartamokra történő rögzítésében. Az időhöz kötött esemény munkamenetét manuálisan vagy ütemezett feladattal is elindíthatja a választott időpontban, és garantálhatja, hogy a munkamenet nem marad határozatlan ideig.
Ha egy esemény munkamenetét időkorlátba szeretné állítani, adja meg az MAX_DURATION argumentumot a munkamenet létrehozásakor vagy módosításakor. További információ: CREATE EVENT SESSION and ALTER EVENT SESSION.
Az esemény-munkamenetekhez hasonlóan az utasítással ALTER EVENT SESSION ... STATE = STOP is leállíthat egy időhöz kötött munkamenetet, mielőtt a maximális időtartam el nem telik. Ha a munkamenet újra elindul, a munkamenet automatikus leállítása előtt a megadott MAX_DURATION teljes időtartamnak újra el kell telik.
Módosíthatja a meglévő esemény-munkameneteket ALTER EVENT SESSION is, és megadhat egy másik maximális időtartamot, vagy eltávolíthatja azt a beállítás megadásával MAX_DURATION = UNLIMITED. A MAX_DURATION beállítás módosításához le kell állítani a munkamenetet.
Ha egy esemény munkamenete időkorlátos, a max_durationsys.server_event_sessions katalógusnézet oszlopában a munkamenet maximális időtartama másodpercben jelenik meg. Az esemény munkamenete korlátlan időtartamú, ha az érték nulla.