Kilit: yükseltme Event Class

Kilit: yükseltme olay sınıfı, kullanılabilen grained kilit için; ince taneli kilit dönüştürülmüş belirtir Örneğin, bir nesne kilit dönüştürülmüş bir satır kilidi. Olay kimliği 60 yükseltme olay sınıfıdır.

Kilit: yükseltme olay sınıfı veri sütunları

Veri sütunu adı

Veri türü

Açıklama

Sütun Kımlığı

Filtrelenebilen

ApplicationName

nvarchar

Örneğine bağlantı oluşturulan istemci uygulamanın adını SQL Server. Bu sütun, programı görüntülenen adı yerine uygulama tarafından geçirilen değerleri ile doldurulur.

10

Evet

ClientProcessID

int

İstemci uygulamasının çalıştığı işlemin ana bilgisayar tarafından atanan Kımlığı. İstemci istemci sağlıyorsa bu veri sütunu doldurulur süreç kimliği.

9

Evet

DatabaseID

int

Kilidi elde veritabanı Kımlığı. SQL Server Profilerveritabanı adını görüntüler SunucuAdı veri sütunu yakalanan izleme ve sunucu kullanılabilir. DB_ID işlevini kullanarak bir veritabanı değerini belirleyin.

3

Evet

Veritabanı adı

nvarchar

Etkinleşmesini oluştuğu veritabanının adı.

35

Evet

EventClass

int

Olay türü = 60.

27

Hayır

EventSubClass

int

Kilit etkinleşmesini neden:

0 - lock_threshold deyimi kilidi eşik aşıldı gösterir.

1 - memory_threshold deyimi bellek eşik aşıldı gösterir.

21

Evet

EventSequence

int

Istek içinde belirli bir olay sırası.

51

Hayır

Grup kimliği

int

Burada sql izleme olay yangınlar iş yükünü Grup Kımlığı.

66

Evet

HostName

nvarchar

İstemci üzerinde çalıştığı bilgisayarın adı. İstemci ana bilgisayar adı sağlıyorsa bu veri sütunu doldurulur. Ana bilgisayar adını belirlemek için host_name işlevini kullanın.

8

Evet

IntegerData

int

HoBT kilit sayısı. HoBT kilit etkinleşmesini zaman için kilit sayısıdır.

25

Evet

IntegerData2

int

Escalated kilidi sayısı. Dönüştürülmüş kilitlerin toplam sayısı. Çünkü onlar zaten escalated kilidi ile kaplıdır, bu kilit yapılar kaldırıldı.

55

Evet

IsSystem

int

Olay sistem işlemi veya kullanıcı işlemi oluştu gösterir. 1 = sistem, 0 = kullanıcı.

60

Evet

LineNumberAnahtar

int

Satır sayısı Transact-SQLdeyimi.

5

Evet

LoginName

nvarchar

Kullanıcı oturum açma adı (ya da SQL Servergüvenlik oturumu veya MicrosoftWindows oturum açma kimlik bilgileri etkialanı\kullanıcıadı biçiminde).

11

Evet

LoginSid

image

Oturum açmış kullanıcının güvenlik kimlik numarası (SID). Sen-ebilmek bulmak için bu bilgiyi sys.server_principals Katalog görünümü. Her SID, sunucudaki her bir giriş için benzersizdir.

41

Evet

Modu

int

Etkinleşmesini sonra sonuç kilit modu:

0 = null - birarada olabilir ile tüm diğer kilit modları (lck_m_nl)

1 = Şema kararlılık kilit (lck_m_sch_s)

2 = Şema değişikliği kilitle (lck_m_sch_m)

3 = Paylaşılan kilitle (lck_m_s)

4 = Güncelleştirme kilit (lck_m_u)

5 = Özel kilit (lck_m_x)

6 = Amaçlı Paylaşılan kilitle (LCK_M_IS)

7 = Niyet güncelleştirme kilitle (LCK_M_IU)

8 = Amaçlı kilit (LCK_M_IX)

9 = Shared niyetiyle için Güncelleştirme (LCK_M_SIU)

10 = Paylaşılan amaçlı özel (LCK_M_SIX)

11 = Güncelleştirme amaçlı özel (LCK_M_UIX) ile

12 = Toplu güncelleştirme kilitle (lck_m_bu)

13 = Anahtar aralığı paylaşılan ve paylaşılan (lck_m_rs_s)

14 = Anahtar aralığı paylaşılan ve güncelleştirme (lck_m_rs_u)

15 = Anahtar aralığı Ekle null (LCK_M_RI_NL)

16 = Paylaşılan anahtar aralığı Ekle (LCK_M_RI_S)

17 = Anahtar aralığı Ekle güncelleştirme (LCK_M_RI_U)

18 = Anahtar aralığı Ekle özel (LCK_M_RI_X)

19 = Paylaşılan anahtar aralığı özel (lck_m_rx_s)

20 = Anahtar aralığı özel güncelleştirme (lck_m_rx_u)

21 = Anahtar aralığı özel özel (lck_m_rx_x)

32

Evet

NTDomainName

nvarchar

Kullanıcının ait olduğu Windows etki alanı.

7

Evet

NTUserName

nvarchar

Windows kullanıcı adı.

6

Evet

ObjectId

int

İçin hangi kilit etkinleşmesini tetiklenen tablo sistem tarafından atanan Kımlığı.

22

Evet

ObjectID2

bigint

Ilgili nesne veya varlık Kımlığı. (HoBT Kımlığı için kilit etkinleşmesini tetiklenen.)

56

Evet

Ofset

int

Başlangıç uzaklığı Transact-SQLdeyimi.

61

Evet

OwnerId

int

1 = HAREKET

2 = IMLEÇ

3 = SESSION

4 = SHARED_TRANSACTION_WORKSPACE

5 = EXCLUSIVE_TRANSACTION_WORKSPACE

6 WAITFOR_QUERY =

58

Evet

RequestId

int

Deyimi içeren istek Kımlığı.

49

Evet

SunucuAdı

nvarchar

Örnek adı SQL ServerIzlenen.

26

Hayır

SessionLoginName

nvarchar

Oturum kökenli kullanıcının oturum açma adı. Örneğin, bağlandığınız SQL Serverolarak Login2, bir deyimini yürütmek ve Login1 kullanarak SessionLoginName Login1 gösterir ve LoginName Login2 gösterir. Bu sütun her ikisini de görüntüler SQL Serverve Windows oturumlarının.

64

Evet

SPID

int

Olayın oluştuğu oturumun Kımlığı.

12

Evet

StartTime

datetime

Saat olay, varsa başlatıldı.

14

Evet

TextData

ntext

Metin Transact-SQLkilit etkinleşmesini neden açıklama.

1

Evet

TransactionID

bigint

Hareketin sistem tarafından atanan Kımlığı.

4

Evet

Tür

int

Kilit etkinleşmesini parçalı yapı:

1 NULL_RESOURCE =

2 = VERİTABANI

3 = DOSYA

5 = Nesne (tablo düzeyi)

6 = SAYFA

7 = ANAHTAR

8 ÖLÇÜDE =

9 = KURTULUN

10 = UYGULAMA

11 = METADATA

12 HOBT =

13 = ALLOCATION_UNIT

57

Evet

Örnekler

Aşağıdaki örnek sp_trace_createbir izleme oluşturmak için yordam sp_trace_seteventsonra kullanır ve izleme, kilit etkinleşmesini sütunları eklemek için sp_trace_setstatusizlemeyi başlatmak için. Deyimleri gibi EXEC sp_trace_setevent @TraceID, 60, 22, 1sayısı 60yükseltme olay sınıfı gösterir 22gösterir ObjectID sütun ve 1izleme olayı on olarak ayarlar.

DECLARE @RC int, @TraceID int
EXEC @rc = sp_trace_create @TraceID output, 0, N'C:\TraceResults'
-- Set the events and data columns you need to capture.
EXEC sp_trace_setevent @TraceID, 60,  1, 1 --  1 = TextData
EXEC sp_trace_setevent @TraceID, 60, 12, 1 -- 12 = SPID
EXEC sp_trace_setevent @TraceID, 60, 21, 1 -- 21 = EventSubClass
EXEC sp_trace_setevent @TraceID, 60, 22, 1 -- 22 = ObjectID
EXEC sp_trace_setevent @TraceID, 60, 25, 1 -- 25 = IntegerData
EXEC sp_trace_setevent @TraceID, 60, 55, 1 -- 25 = IntegerData2
EXEC sp_trace_setevent @TraceID, 60, 57, 1 -- 57 = Type
-- Set any filter  byusing sp_trace_setfilter.
-- Start the trace.
EXEC sp_trace_setstatus @TraceID, 1
GO

Şimdi, izleme çalıştığını izlemek istediğiniz deyimlerinin yürütün. Onlar bitirdikten sonra durdurmak ve izleme kapatmak için aşağıdaki kod yürütebilir. Bu örnek fn_trace_getinfoalmak için işlevi traceidkullanılmak üzere sp_trace_setstatusdeyimleri.

-- After the trace is complete.
DECLARE @TraceID int
-- Find the traceid of the current trace.
SELECT @TraceID = traceid 
FROM ::fn_trace_getinfo(default) 
WHERE value = N'C:\TraceResults.trc'

-- First stop the trace. 
EXEC sp_trace_setstatus @TraceID, 0

-- Close and then delete its definition from SQL Server. 
EXEC sp_trace_setstatus @TraceID, 2
GO

Ayrıca bkz.

Başvuru

sp_trace_setevent (Transact-sql)

sys.dm_tran_locks (Transact-sql)

Diğer Kaynaklar

Monitoring Events

Locking in the Database Engine

Lock Compatibility (Database Engine)