sys.dm_exec_cursors (Transact-SQL)

Çeşitli veritabanlarındaki açık olan imleçler hakkında bilgi verir.

Sözdizimi

dm_exec_cursors (session_id | 0 )

Bağımsız değişkenler

  • session_id | 0
    oturumkimliği.session_id Belirtilmişse, bu işlev , belirtilen oturumimleçler hakkında bilgi verir.

    0 Belirtilirse işlev tüm oturumlar için tüm imleçler hakkında bilgi verir.

Dönen Tablo

Sütun adı

Veri türü

Açıklama

session_id

int

Bu imleçtutan oturum kimliği.

cursor_id

int

imleç nesne kimliği.

name

nvarchar(256)

Kullanıcı tarafından tanımlanan imleç adı.

özellikler

nvarchar(256)

imleçözelliklerini belirtir.Aşağıdaki özelliklerin değerlerinin, bu sütundeğeri oluşturmak üzere birleşir:

  • Bildirim arabirimi

  • İmleç türü

  • İmleç eşzamanlılık

  • İmleç kapsam

  • İç içe geçmiş düzeyimleç

Örneğin, bu sütun için döndürülen değer olabilir "tsql | Dinamik | İyimser | Global (0) ".

sql_handle

varbinary(64)

imleçbildirilen toplu iş metne işleci.

statement_start_offset

int

Şu anda yürütülen toplu iş veya şu anda yürütülen deyim başladığı saklı yordam karakter sayısı.İle birlikte kullanılan sql_handle, statement_end_offsetve sys.dm_exec_sql_text dinamik yönetim işlevi isteği şu anda yürütülen deyim alınacak.

statement_end_offset

int

Şu anda yürütülen toplu iş veya şu anda yürütülen deyim erdiği saklı yordam karakter sayısı.İle birlikte kullanılan sql_handle, statement_start_offsetve sys.dm_exec_sql_text dinamik yönetim işlevi isteği şu anda yürütülen deyim alınacak.

plan_generation_num

bigint

Yeniden derlemesinde sonra planları örnekleri arasında ayırt etmek için kullanılan bir sıra numarası.

creation_time

datetime

Bu imleç oluşturulduğunda zaman damgası.

is_open

bit

imleç açık olup olmadığını belirtir.

is_async_population

bit

Arka plan iş parçacığı yine de zaman uyumsuz bir anahtar KÜMESİ ya da statik imleçdoldurmamaya olduğu olup olmadığını belirtir.

is_close_on_commit

bit

CURSOR_CLOSE_ON_COMMIT kullanarak imleç bildirilen olup olmadığını belirtir.

1 = Hareket sona erdiğinde imleç kapatılacak.

fetch_status

int

Döndürür son durum imleçgetir.En son iade edilen @@ fetch_status değeri budur.

fetch_buffer_size

int

Alma arabelleği boyutu hakkında bilgi verir.

1 = Transact -SQL imleçler.Bu API imleçler için daha yüksek bir değere küme olabilir.

fetch_buffer_start

int

fast_forward ve dinamik imleçler için imleç açık değilse ya da ilk satırın öncesine yerleştirilir, 0 döndürür.Aksi durumda,-1 değerini döndürür.

STATİK ve anahtar KÜMESİ imleç imleç son satırın konumlandırdıysanız imleç açık ve -1 değilse 0 döndürür.

Aksi halde, konumlandırılmış satır numarasını verir.

ansi_position

int

İmleç konumuna getirme arabelleğindeki.

worker_time

bigint

Bu imleçyürütme çalışanları tarafından mikrosaniye zaman harcanan.

okur

bigint

' % S'imleç imleçtarafından gerçekleştirilen okuma sayısı.

Yazar

bigint

' % S'imleç imleçtarafından gerçekleştirilen yazma sayısı.

dormant_duration

bigint

Son sorgu itibaren milisaniye (açın veya fetch) bu imleç başlatıldı.

İzinler

Sunucu üzerindeki görünüm server state izni gerektirir.

Açıklamalar

Aşağıdaki tablo , imleç bildirim arabirim hakkında bilgi sağlar ve özelliklerini sütuniçin olası değerler içerir.

Özellik

Açıklama

API

İmleç veri erişimi (odbc, oledb) API'leri kullanarak bildirilmiş.

TSQL

İmleç Transact -SQL İMLEÇ bildirme sözdizimi kullanılarak bildirilmiş.

Aşağıdaki tablo , imleç türü hakkında bilgi sağlar ve özelliklerini sütuniçin olası değerler içerir.

Tür

Açıklama

Anahtar kümesi

İmleci anahtar kümesi bildirilmiş.

Dinamik

İmleç dinamik olarak bildirilmiş.

Anlık görüntü

İmlecin anlık veya statik bildirilmiş.

Fast_Forward

İmleç Sar bildirilmiş.

Aşağıdaki tablo , imleç eşzamanlılık hakkında bilgi sağlar ve özelliklerini sütuniçin olası değerler içerir.

Eşzamanlılık

Açıklama

Salt Okunur

İmleç salt okunur olarak bildirilmiş.

Kaydırma kilitleri

İmleç kaydırma kilitleri kullanır.

İyimser

İmleç iyimser eşzamanlılık denetimi kullanır.

Aşağıdaki tablo , imleç kapsam hakkında bilgi sağlar ve özelliklerini sütuniçin olası değerler içerir.

Kapsam

Açıklama

Yerel

imleç kapsam toplu iş, saklı yordamveya tetikleyiciyi imleç oluşturulduğu yerel olduğunu belirtir.

Genel

imleç kapsam genel bağlantı olduğunu belirtir.

Örnekler

A.Eski imleçler algılama

Bu örnek, belirtilen saat 36 saat daha uzun sunucuda açık olan imleçler hakkında bilgi verir.

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