Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
A kiterjesztett események (XEvents) architektúra lehetővé teszi a felhasználók számára, hogy a lehető legtöbb vagy kevés adatot gyűjtsék össze az SQL Server, az Azure SQL Database, az Azure SQL Managed Instance és az SQL Database teljesítményének monitorozásához, azonosításához vagy hibaelhárításához a Fabricben. A kiterjesztett események nagy mértékben konfigurálhatók, könnyűek és jól méretezhetők. További információ: Bővített események architektúrája.
A kiterjesztett események az ELAVULT SQL Trace és az SQL Server Profiler funkcióit váltják fel.
A bővített események használatának megkezdéséhez használja a rövid útmutatót: Bővített események.
Megjegyzés:
Az Azure SQL Database, a Fabric SQL Database és a felügyelt SQL-példány esetében a példakódok eltérhetnek , mivel a cél fájljai az event_file Azure Storage-ban vannak tárolva. További információ: Bővített események az Azure SQL-ben.
A kiterjesztett események előnyei
A Kiterjesztett események egy egyszerű teljesítményfigyelő rendszer, amely minimális rendszererőforrásokat használ, miközben részletes, részletes képet nyújt az adatbázismotorról. Az SQL Server Management Studio grafikus felhasználói felületet biztosít a bővített eseményekhez esemény-munkamenetek létrehozásához, módosításához és elvetéséhez, valamint a munkamenetadatok megjelenítéséhez és elemzéséhez. A Bővített események támogatásáról a Management Studióban az alábbiakban olvashat bővebben:
Kiterjesztett események fogalmai
A bővített események a Windows eseménykövetésének (ETW) meglévő fogalmaira épülnek, például az esemény - és eseményfelhasználókra, és új fogalmakat vezetnek be, például a cselekvést és a predikátumot.
Az alábbi táblázat dokumentációs hivatkozásokat tartalmaz a kiterjesztett események fogalmainak megértéséhez.
| Cikk | Description |
|---|---|
| Bővített események csomagjai | Az objektumokat tartalmazó Kiterjesztett események csomagokat ismerteti. Ezek az objektumok az adatok lekérésére és feldolgozására szolgálnak, amikor egy bővített esemény munkamenet fut. |
| Bővített eseménycélok | Azokat az eseményfelhasználókat ismerteti, amelyek adatokat fogadhatnak egy esemény munkamenete során. |
| Bővített események motorja | A bővített események munkamenetét megvalósító és kezelő motor leírása. |
| Bővített események munkamenetei | A bővített események munkamenetét ismerteti. |
Bővített események architektúrája
A kiterjesztett események a kiszolgálórendszerek általános eseménykezelő rendszerének neve. A Kiterjesztett események infrastruktúra támogatja az adatbázismotor adatainak korrelációját, és bizonyos feltételek mellett az operációs rendszerből és az adatbázis-alkalmazásokból származó adatok korrelációját. Az operációs rendszer esetében a bővített események kimenetét a Windows eseménykövetési szolgáltatásának (ETW) kell irányítania. Az ETW képes korrelálni az eseményadatokat az operációs rendszer vagy az alkalmazás eseményadataival.
Minden alkalmazás rendelkezik olyan végrehajtási ponttal, amely az alkalmazáson belül és kívül egyaránt hasznos. Az alkalmazáson belül az aszinkron feldolgozás a tevékenységek kezdeti végrehajtása során gyűjtött információk használatával kérhető le. Az alkalmazáson kívül a végrehajtási pontok információt nyújtanak a monitorozási segédprogramokról. Az információk a figyelt alkalmazás viselkedési és teljesítményjellemzőiről szólnak.
A kiterjesztett események támogatják az eseményadatok folyamaton kívüli használatát. Ezeket az adatokat általában olyan felhasználók használják, amelyek egy terméket felügyelnek vagy támogatnak teljesítménymonitorozással, vagy hibakeresés céljából alkalmazásokat fejlesztenek egy terméken. Az adatok felhasználása vagy elemzése olyan eszközökkel történik, mint az SQL Server Management Studio, az XEvent Profiler és a Performance Monitor, valamint a T-SQL vagy a Windows parancssori eszközei.
A kiterjesztett események a következő főbb tervezési szempontokat érintik:
- A Kiterjesztett események motor esemény-agnosztikus. A motor bármilyen eseményt bármilyen célhoz köthet, mert a motort nem korlátozza az eseménytartalom. A Kiterjesztett események motorral kapcsolatos további információkért lásd a Bővített események motort.
- Az események elkülönülnek az eseményfelhasználóktól, amelyeket a kiterjesztett eseményekben célnak neveznek. Ez azt jelenti, hogy bármely cél bármilyen eseményt fogadhat. Emellett a cél automatikusan felhasználhatja a létrehozott eseményeket, amelyek naplózhatók vagy további eseménykörnyezetet biztosíthatnak. További információ: Bővített események céljai.
- Az események eltérnek az esemény bekövetkezésekor végrehajtandó művelettől. Ezért bármilyen művelet bármilyen eseményhez társítható.
- A predikátumok dinamikusan szűrhetik az eseményadatok rögzítését. A dinamikus szűrés növeli a Kiterjesztett események infrastruktúra rugalmasságát. További információ: Bővített események csomagjai.
A kiterjesztett események szinkron módon hozhatnak létre eseményadatokat (és aszinkron módon feldolgozhatják az adatokat), ami rugalmas megoldást kínál az eseménykezeléshez. A Bővített események emellett a következő funkciókat is biztosítják:
- Egységes megközelítés a kiszolgálórendszer eseményeinek kezeléséhez, miközben lehetővé teszi a felhasználók számára, hogy hibaelhárítási célokra elkülönítsék az egyes eseményeket.
- Integráció a meglévő ETW-eszközökkel és támogatással.
- A Transact-SQL-t használó, teljes mértékben konfigurálható eseménykezelési mechanizmus.
- Az aktív folyamatok dinamikus monitorozásának képessége, miközben minimális hatással van ezekre a folyamatokra.
- Egy alapértelmezett rendszerállapot-munkamenet, amely észrevehető teljesítményeffektusok nélkül fut. A munkamenet összegyűjti a teljesítményproblémák elhárításához használható rendszeradatokat. További információ: A system_health munkamenet használata.
Bővített események feladatai
A Management Studio vagy a Transact-SQL használatával Transact-SQL adatdefiníciós nyelvi (DDL-) utasításokat hajthat végre, dinamikus felügyeleti nézeteket és függvényeket használhat, vagy katalógusnézeteket használhat, és egyszerű vagy összetett SQL Server-események hibaelhárítási megoldásokat hozhat létre az SQL Server-környezethez.
| Tevékenység leírása | Cikk |
|---|---|
| Az Objektumkezelővel kezelheti az esemény-munkameneteket. | Esemény-munkamenetek kezelése az Objektumkezelőben |
| Az elérhető kiterjesztett események céljainak használatát ismerteti. | Bővített eseménycélok |
| A céladatok megtekintésének és frissítésének módját ismerteti. | Eseményadatok megtekintése az SQL Server Management Studióban |
| A bővített események munkameneteinek architektúráját ismerteti. | Bővített események munkamenetei |
| Ismerteti, hogyan hozhat létre és kezelhet bővített események munkameneteket kiterjesztett események eszközeinek használatával. | Bővített események eszközei |
| A bővített események munkamenetének módosítását ismerteti. | Bővített események munkamenetének módosítása |
| Ismerteti, hogyan kérhet le információkat az eseményekhez társított mezőkről. | Az összes esemény mezőinek lekérése |
| Ez a cikk bemutatja, hogy milyen események érhetők el a regisztrált csomagokban. | SELECT-k és JOIN-k a kiterjesztett események rendszernézeteiből |
| Ismerteti, hogyan tekintheti meg az egyes SQL Trace-eseményekkel és a kapcsolódó oszlopokkal egyenértékű kiterjesztett eseményeket és műveleteket. | Az SQL Trace-eseményosztályokkal egyenértékű kiterjesztett események megtekintése |
| Azt ismerteti, hogyan konvertálhat egy meglévő SQL Trace-szkriptet kiterjesztett események munkamenetté. | Meglévő SQL Trace-szkript konvertálása kiterjesztett esemény munkamenetté |
| Ismerteti, hogyan állapítható meg, hogy mely lekérdezések tartják a zárolást, a lekérdezés tervét és a Transact-SQL vermet a zároláskor. | Annak meghatározása, hogy mely lekérdezések tartanak zárolást |
| A zárolások forrásának azonosítását ismerteti. | Keresse meg azokat az objektumokat, amelyeken a legtöbb zárolás van |
| Ismerteti, hogyan használható a Bővített események a Windows eseménykövetésével a rendszertevékenységek figyelésére. | Rendszertevékenység monitorozása kiterjesztett eseményekkel |
| Katalógusnézetek és dinamikus felügyeleti nézetek (DMV-k) használata kiterjesztett eseményekhez | SELECT-k és JOIN-k a kiterjesztett események rendszernézeteiből |
Bővített események katalógusnézetei
A bővített események számos katalógusnézetet biztosítanak. A katalógusnézetek ismertetik az esemény munkamenetének metaadatait vagy definícióját. Az aktív esemény munkamenetek példányairól további információt a Bővített események dinamikus felügyeleti nézeteiben talál.
- Azure SQL Database és SQL-adatbázis a Fabric szolgáltatásban
- Azure SQL Managed Instance
- SQL Server
| Katalógusnézet neve | Description |
|---|---|
| sys.database_event_session_actions | Minden adatbázis-hatókörű esemény munkamenetében minden egyes művelethez egy sort ad vissza. |
| sys.database_event_session_events | Egy adatbázis-hatókörű esemény munkamenet minden egyes eseményének egy sorát adja vissza. |
| sys.database_event_session_fields | Egy olyan sort ad vissza minden testre szabható oszlophoz, amely kifejezetten egy adatbázis-hatókörű munkamenet eseményeire és céljaira lett beállítva. |
| sys.database_event_session_targets | Egy adatbázis-hatókörű esemény munkamenet minden egyes eseménycéljának egy sorát adja vissza. |
| sys.database_event_sessions | Egy sort ad vissza minden adatbázis-hatókörű esemény munkamenethez. |
Bővített események dinamikus felügyeleti nézetei
A bővített események számos dinamikus felügyeleti nézetet (DMV-t) biztosítanak. A DMV-k információkat adnak vissza az aktív (elindított) esemény munkamenetekről, például a munkamenet és cél statisztikákról.
- Azure SQL Database és SQL-adatbázis a Fabric szolgáltatásban
- Azure SQL Managed Instance
- SQL Server
| DMV neve | Description |
|---|---|
| sys.dm_xe_database_session_event_actions | Adatokat ad vissza az adatbázis hatókörébe tartozó esemény munkamenet-műveletekről. |
| sys.dm_xe_database_session_events | Adatokat ad vissza az adatbázis hatókörébe tartozó esemény-munkamenetek eseményeiről. |
| sys.dm_xe_database_session_object_columns | Az adatbázis-hatókörű munkamenethez kötött objektumok konfigurációs értékeit jeleníti meg. |
| sys.dm_xe_database_session_targets | Adatokat ad vissza az adatbázis hatókörébe tartozó esemény munkamenet-célokról. |
| sys.dm_xe_database_sessions | Egy sort ad vissza az aktuális adatbázisban futó összes adatbázis-hatókörű esemény-munkamenethez. |
Permissions
Az Azure SQL Database-ben, az SQL Database-ben a Fabricben, az Azure SQL Managed Instance-ben, valamint az SQL Server 2022-ben és újabb verzióiban a Bővített események egy részletes engedélymodellt támogatnak. A következő engedélyek adhatóak meg:
- Azure SQL Database és SQL-adatbázis a Fabric szolgáltatásban
- Azure SQL Managed Instance
- SQL Server
CREATE ANY DATABASE EVENT SESSION
DROP ANY DATABASE EVENT SESSION
ALTER ANY DATABASE EVENT SESSION
ALTER ANY DATABASE EVENT SESSION ADD EVENT
ALTER ANY DATABASE EVENT SESSION DROP EVENT
ALTER ANY DATABASE EVENT SESSION ADD TARGET
ALTER ANY DATABASE EVENT SESSION DROP TARGET
ALTER ANY DATABASE EVENT SESSION ENABLE
ALTER ANY DATABASE EVENT SESSION DISABLE
ALTER ANY DATABASE EVENT SESSION OPTION
Az egyes engedélyek vezérlőiről a CREATE EVENT SESSION, az ALTER EVENT SESSION és a DROP EVENT SESSION című témakörben olvashat bővebben.
Az összes ilyen engedély szerepel az adatbázis, a CONTROL felügyelt SQL-példány vagy az SQL Server-példány engedélyében. Az Azure SQL Database-ben az adatbázis tulajdonosa (dbo), az db_owner adatbázis-szerepkör tagjai és a logikai kiszolgáló rendszergazdái rendelkeznek az adatbázis CONTROL engedélyével. A felügyelt Azure SQL-példányban és az SQL Serverben a sysadmin kiszolgálói szerepkör tagjai rendelkeznek a CONTROL példány engedélyével.
A példakódok eltérhetnek az Azure SQL Database, a Fabricben lévő SQL Database és a felügyelt SQL-példányok esetében
Az SQL Serverhez írt néhány Transact-SQL kód példájának kis módosításokat kell végrehajtania az Azure SQL Database-ben vagy az SQL Database-ben a Fabricben. Az ilyen példakódok egyik kategóriája olyan katalógusnézeteket tartalmaz, amelyek névelőtagjai az adatbázismotor típusától függően eltérnek:
-
server_- előtag az SQL Serverhez és a felügyelt Azure SQL-példányhoz -
database_- előtag az Azure SQL Database-hez, az SQL Database-hez a Fabricben és a felügyelt SQL-példányhoz
Az Azure SQL Database és az SQL Database in Fabric csak az adatbázis-hatókörű esemény munkameneteket támogatja. Az SQL Server Management Studio (SSMS) támogatja az Azure SQL Database adatbázis-hatókörű esemény-munkameneteit: az Object Explorerben minden adatbázis alatt megjelenik egy adatbázis-hatókörű munkameneteket tartalmazó Bővített események csomópont.
A felügyelt Azure SQL-példány támogatja az adatbázis-hatókörű munkameneteket és a kiszolgálói hatókörű munkameneteket is. Az SSMS teljes mértékben támogatja a felügyelt SQL-példányok kiszolgálóhatókörű munkameneteit: az Object Explorerben minden felügyelt példány felügyeleti mappájában megjelenik egy kiterjesztett eseménycsomópont, amely tartalmazza az összes kiszolgálóhatókörű munkamenetet.
Megjegyzés:
A felügyelt Azure SQL-példányhoz kiszolgálói hatókörű esemény-munkamenetek ajánlottak.
Az adatbázis-hatókörű esemény munkamenetek nem jelennek meg az Object Explorerben az Azure SQL Managed Instance SSMS-ben. Felügyelt SQL-példányokon az adatbázis-hatókörű esemény munkamenetek csak a Transact-SQL-vel kérdezhetők le és kezelhetők.
Illusztrációként az alábbi táblázat felsorolja és összehasonlítja a katalógusnézetek két részhalmazát. Az alhalmazok eltérő névelőtagokkal rendelkeznek, mivel különböző adatbázismotor-típusokat támogatnak.
| Név az SQL Serverben és a felügyelt Azure SQL-példányban | Név az Azure SQL Database-ben, az SQL Database in Fabricben és a felügyelt Azure SQL-példányban |
|---|---|
sys.server_event_session_actionssys.server_event_session_eventssys.server_event_session_fieldssys.server_event_session_targetssys.server_event_sessions |
sys.database_event_session_actionssys.database_event_session_eventssys.database_event_session_fieldssys.database_event_session_targetssys.database_event_sessions |
Kapcsolódó tartalom
- Bővített események dinamikus felügyeleti nézetei
- Bővített eseménykatalógus nézetei (Transact-SQL)
- SQL-rejtélyek: Oksági nyomkövetés és XEvent-munkamenetek eseményütemezése
- Holtpontok elemzése és megakadályozása az Azure SQL Database-ben és a Fabric SQL-adatbázisban
- Rövid útmutató: Bővített események
- Esemény-munkamenet létrehozása event_file-tárolóval az Azure Storage-ban
- Bővített események az Azure SQL-ben
- XELite: Platformfüggetlen kódtár xEvents olvasásához XEL-fájlokból vagy élő SQL-streamekből