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
Információkat ad vissza a különböző adatbázisokban nyitott kurzorokról.
Syntax
dm_exec_cursors (session_id | 0 )
Arguments
session_id | 0
A munkamenet azonosítója. Ha session_id meg van jelölve, ez a függvény visszaad információt a kurzorokról a megadott ülésen.
Ha 0-t jelölünk, a függvény minden alkalommal minden kurzorról ad vissza információt.
Visszajuttatott tábla
| Oszlop neve | Adattípus | Leírás |
|---|---|---|
| session_id | int | Az ülés azonosítója, amely ezt a kurzort tartja. |
| cursor_id | int | A kurzorobjektum azonosítója. |
| név | nvarchar(256) | A kurzor neve a felhasználó által meghatározott meghatározás szerint. |
| tulajdonságok | nvarchar(256) | Megadja a kurzor tulajdonságait. Az alábbi tulajdonságok értékei összefonódnak, hogy ennek az oszlopnak az értékét alják: Nyilatkozati interfész Kurzor típus Cursor-egyidejű Kurzor távcső Kurzor fészkelési szint Például az oszlopban visszaadott érték lehet "TSQL | Dinamikus | Optimista | Global (0)". |
| sql_handle | varbinary(64) | A kurzort hirdető tétel szövegét fogja át. |
| statement_start_offset | int | A jelenleg futó tételben vagy tárolt eljárásban szereplő karakterek száma, ahol a jelenleg végrehajtó utasítás indul. A sql_handle, a statement_end_offsetés a sys.dm_exec_sql_text dinamikus felügyeleti függvénnyel együtt használható a kérés aktuális végrehajtási utasításának lekéréséhez. |
| statement_end_offset | int | A jelenleg futó batch vagy tárolt eljárás karaktereinek száma, ahol a jelenleg futtatható utasítás véget ér. A sql_handle, a statement_start_offsetés a sys.dm_exec_sql_text dinamikus felügyeleti függvénnyel együtt használható a kérés aktuális végrehajtási utasításának lekéréséhez. |
| plan_generation_num | bigint | Egy sorozatszám, amely a tervek újrafordítása után megkülönböztethető. |
| creation_time | datetime | Időbélyeg, mikor készült ez a kurzor. |
| is_open | bit | Megadja, hogy a kurzor nyitva van-e. |
| is_async_population | bit | Megadja, hogy a háttérszál továbbra is aszinkron módon tölt fel egy KEYSET vagy STATIC kurzort. |
| is_close_on_commit | bit | Megadja, hogy a kurzor a használatával CURSOR_CLOSE_ON_COMMITjelent meg, hogy a kurzor a használatával jelent meg. 1 = A kurzor zárva lesz, amikor a tranzakció véget ér. |
| fetch_status | int | Visszaadja a kurzor utolsó behozási állapotát. Ez az utolsó visszaadott @@FETCH_STATUS érték. |
| fetch_buffer_size | int | Információt ad a fetch buffer méretéről. 1 = Transact-SQL kurzor. Ez magasabb értékre állítható, mint API kurzorok. |
| fetch_buffer_start | int | FAST_FORWARD és DYNAMIC kurzorok esetén 0-t ad, ha a kurzor nincs nyitva, vagy az első sor előtt helyezkedik el. Ellenkező esetben -1-et ad. STATIC és KEYSET kurzorok esetén 0-ot ad vissza, ha a kurzor nincs nyitva, és -1, ha a kurzor az utolsó sor mögött helyezkedik el. Ellenkező esetben visszaadja azt a sorszámot, amelyben elhelyezkedett. |
| ansi_position | int | Kurzor pozíciója a fetch bufferben. |
| worker_time | bigint | Mikroszekundumustan eltöltött időt a kurzor végrehajtó munkások számára. |
| Olvas | bigint | A kurzor által végzett olvasások száma. |
| Írja | bigint | A kurzor által végzett írások száma. |
| dormant_duration | bigint | Milliszekunduumok óta elindultak az utolsó lekérdezés (nyitás vagy behozás) ezen a kurzoron. |
Permissions
Szerver STATE engedélyt igényel VIEW a szerveren.
Engedélyek az SQL Server 2022-hez és újabb verziókhoz
SERVER PERFORMANCE STATE engedélyt igényel VIEW a szerveren.
Megjegyzések
Az alábbi táblázat információkat nyújt a kurzordeklarációs felületről, és tartalmazza a tulajdonságok oszlop lehetséges értékeit.
| Property | Leírás |
|---|---|
| API | A kurzort az egyik adathozzáférési API (ODBC, OLEDB) használatával deklarálták. |
| TSQL | A kurzort a Transact-SQL DECLARE CURSOR szintaxisával állították ki. |
Az alábbi táblázat információkat nyújt a kurzortípusról, és tartalmazza a tulajdonságok oszlopának lehetséges értékeit.
| Típus | Leírás |
|---|---|
| Billentyűkészlet | Cursort Keysetnek nevezték. |
| Dynamic | Cursort dinamikusnak minősítették. |
| Snapshot | A kurzort Snapshot vagy Static-nak jelölték. |
| Fast_Forward | A Cursor Gyorsulás (Gyorsulás) lett beállítva. |
Az alábbi táblázat a kurzor egyidejű egységéről információt nyújt, és tartalmazza a tulajdonságok oszlopának lehetséges értékeit.
| Concurrency | Leírás |
|---|---|
| Csak olvasható | A Cursor csak olvasásra volt beállítva. |
| Tekercszárak | A Cursor görgető zárokat használ. |
| Optimista | A kurzor optimista egyidejű vezérlést alkalmaz. |
Az alábbi táblázat információkat nyújt a kurzor hatóköréről, és tartalmazza a tulajdonságok oszlop lehetséges értékeit.
| Scope | Leírás |
|---|---|
| Local | Megadja, hogy a kurzor hatóköre helyi legyen a köteghez, a tárolt eljáráshoz vagy az eseményindítóhoz, amelyben a kurzor létrejött. |
| Globális | Megadja, hogy a kurzor hatóköre globális legyen a kapcsolathoz. |
Examples
A. Régi kurzorok felismerése
Ez a példa olyan kurzorokról ad vissza, amelyek a szerveren a megadott 36 órás időnél tovább voltak nyitva.
SELECT creation_time, cursor_id, name, c.session_id, login_name
FROM sys.dm_exec_cursors(0) AS c
JOIN sys.dm_exec_sessions AS s ON c.session_id = s.session_id
WHERE DATEDIFF(hh, c.creation_time, GETDATE()) > 36;
GO
Lásd még
Dinamikus felügyeleti nézetek és függvények (Transact-SQL)
végrehajtással kapcsolatos dinamikus felügyeleti nézetek és függvények (Transact-SQL)
sys.dm_exec_sessions (Transact-SQL)