Megosztás a következőn keresztül:


sys.dm_xtp_gc_queue_stats (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Adatokat ad a szerveren minden szemétgyűjtő dolgozóról, valamint különböző statisztikákat mindegyikről. Minden logikai CPU-hoz egy sor van.

A fő szemétgyűjtő szál (az Idle thread) követi a frissített, törölt és beilleszett sorokat minden tranzakció esetében, amelyet a fő szemétgyűjtő szál utolsó hívása óta teljesítettek. Amikor a szemétgyűjtő szál felébred, meghatározza, hogy a legrégebbi aktív tranzakció időbélyege változott-e. Ha a legrégebbi aktív tranzakció megváltozott, akkor az ürtelen szál 16 soros darabokban sorba állít munkaelemeket azoknak a tranzakcióknak, amelyeknek íráskészletei már nem szükségesek. Például, ha 1 024 sort törlünk, végül 64 szemétgyűjtő munkatárgyat látsz sorban, mindegyikben 16 törölt sor. Miután egy felhasználói tranzakció commit, kiválasztja az összes sorba került tételt az ütemezőjén. Ha az ütemezőjén nincsenek sorban lévő elemek, a felhasználói tranzakció bármely sorban keres a jelenlegi NUMA csomópontban.

Megállapíthatod, hogy a szemétgyűjtés felszabadítja-e a memóriát a törölt sorok számára, ha lefuttatod a sys.dm_xtp_gc_queue_stats végrehajtását, hogy megnézd, a sorban lévő munka feldolgozódik-e. Ha a current_queue_depth bejegyzései nem kerülnek feldolgozásra, vagy nem adnak hozzá új munkatárgyakat a current_queue_depth-hoz, ez azt jelzi, hogy a szemétgyűjtés nem szabadítja fel a memóriát. Például a szemétszállítás nem lehetséges, ha hosszú ideig zajló tranzakció van.

További információ: In-Memory OLTP (In-Memory Optimalizálás).

Oszlop név Típus Description
queue_id int A sor egyedi azonosítója.
total_enqueues bigint A szerver indulása óta sorba állt a szemétgyűjtő munka összes feladata.
total_dequeues bigint A szerver indulása óta kivonult összes szemétgyűjtő munkatárgy a sorból.
current_queue_depth bigint A jelenlegi szemétgyűjtő munka száma ezen a sorban található. Ez a tárgy azt sugallhatja, hogy egy vagy több szemétgyűjtő van.
maximum_queue_depth bigint A maximális mélység, amit ez a sorban látott.
last_service_ticks bigint A CPU ketyegése a sorban lévő utolsó szervizeléskor.

Permissions

VIEW SERVER STATE engedélyt igényel.

Engedélyek az SQL Server 2022-hez és újabb verziókhoz

A KISZOLGÁLÓ TELJESÍTMÉNYÁLLAPOTÁNAK MEGTEKINTÉSE engedélyre van szükség a kiszolgálón.

Felhasználói forgatókönyv

Ez a kimenet azt mutatja, hogy az SQL Server vagy 4 magon fut, vagy az SQL Server példányt 4 maghoz affinitizálták:

Ez a kimenet azt mutatja, hogy a sorokban nincsenek feldolgozandó munkatételek. 0. sor esetén az SQL indítása óta kivont összes munkaelem 15625, a maximális sor-mélység pedig 15625.

queue_id total_enqueues total_dequeues current_queue_depth  maximum_queue_depth  last_service_ticks  
----------------------------------------------------------------------------------------------------  
0        15625                15625    0                    15625                1233573168347  
1        15625                15625    0                    15625                1234123295566  
2        15625                15625    0                    15625                1233569418146  
3        15625                15625    0                    15625                1233571605761  

Lásd még

Memory-Optimized Table Dynamic Management Views (Transact-SQL)