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
    Oturumun Kımlığı. Eğer session_idbelirtilirse, bu işlev, belirtilen oturumda imleç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 oturumun Kımlığı.

cursor_id

int

İmleci nesne Kımlığı.

name

nvarchar(256)

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

özellikler

nvarchar(256)

İmleç özelliklerini belirtir. Bu sütunun değerini oluşturmak için aşağıdaki özelliklerin değerlerini birleştirilmiş:

  • Bildirim arabirimi

  • Imleç türü

  • Imleç eşzamanlılık

  • İmleç kapsamı

  • Imleç iç içelik seviyesi

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

sql_handle

varbinary(64)

Imleci bildirilen toplu metne işleci.

statement_start_offset

int

Yürütülmekte içine karakter toplu iş veya saklı yordam, şu anda yürütülen deyimi başlayacağı. İle birlikte kullanılan sql_handle, statement_end_offsetve sys.dm_exec_sql_text isteği için şu anda yürütülen deyimi almak için dinamik yönetimi işlevi.

statement_end_offset

int

Yürütülmekte içine karakter toplu iş veya saklı yordam, şu anda yürütülen deyimi erdiği. İle birlikte kullanılan sql_handle, statement_start_offsetve sys.dm_exec_sql_text isteği için şu anda yürütülen deyimi almak için dinamik yönetimi işlevi.

plan_generation_num

bigint

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

creation_time

datetime

Bu imleç oluşturulduğunda TIMESTAMP.

is_open

bit

İmleç açık olup olmadığını belirtir.

is_async_population

bit

Arka plan iş parçacığı daha hala zaman uyumsuz bir anahtar kümesi ya da statik imleç doldurmamaya olup olmadığını belirtir.

is_close_on_commit

bit

CURSOR_CLOSE_ON_COMMIT kullanarak imleci bildirilen olup olmadığını belirtir.

1 = Hareket sona erdiğinde imleç kapalı.

FETCH_STATUS

int

Döner son imleç durumu döndürür. Bu son dönen @@ fetch_status değerdir.

fetch_buffer_size

int

Getirme arabellek boyutu hakkında bilgi verir.

1 Transact-sql imleçler =. Bu API imleçler için daha yüksek bir değere ayarlanabilir.

fetch_buffer_start

int

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

STATİK ve anahtar KÜMESI imleçler için imlecin son satırın alıyor eğer imleç açık ve -1 değilse 0 döndürür.

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

ansi_position

int

İmleç konumu getirme arabelleğindeki.

worker_time

bigint

Mikrosaniye olarak yürütülen bu imleç işçiler tarafından zaman geçirdim.

okur

bigint

Imleç tarafından gerçekleştirilen okuma sayısı.

yazıyor

bigint

Imleç tarafından gerçekleştirilen yazma sayısı.

dormant_duration

bigint

Son sorgu itibaren milisaniye (açık ya da getir) Bu imleç başlatıldı.

İzinler

Sunucu üzerindeki VIEW server state izni gerektirir.

Açıklamalar

Aşağıdaki tabloda, imleç bildirimi arabirimi hakkında bilgi sağlar ve özelliklerini sütun için olası değerler içerir.

Özellik

Açıklama

API

Bir veri erişim API (odbc, oledb) kullanarak imleci bildirilen.

TSQL

İmleç declare cursor Transact-sql sözdizimini kullanarak ilan edildi.

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

Tür

Açıklama

Anahtar kümesi

İmleci anahtar kümesi ilan edildi.

Dinamik

İmleç dinamik olarak ilan edildi.

Anlık görüntü

İmleci, anlık görüntü veya statik bildirilen.

Fast_Forward

İmleci hızlı ileri ilan edildi.

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

Eşzamanlılık

Açıklama

Salt Okunur

İmleç salt okunur olarak ilan edildi.

Kaydırma kilitleri

Imleç kaydırma kilitler kullanır.

İyimser

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

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

Kapsam

Açıklama

Yerel

İmleç kapsamı toplu iş, saklı yordam veya tetikleyiciyi imleci oluşturulduğu yerel olduğunu belirtir.

Küresel

İmleç kapsamı bağlantı küresel olduğunu belirtir.

Örnekler

A.Eski imleçler algılama

Bu örnek, sunucu 36 saat belirtilen süreden daha uzun 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

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

Ayrıca bkz.

Başvuru

Dinamik yönetimi görünümler ve işlevler (Transact-sql)

Yürütme dinamik yönetimi görünümler ve işlevler (Transact-sql) ilgili

bkz:sys.dm_exec_sessions (Transact-sql)