An_locks (tranzactioneze-sql)

Coloanele din setul de rezultate sunt împărțite în două grupe: resurse și cerere. Grupul de resurse descrie resursele care a fost făcută solicitarea de blocare și grupul de cerere descrie cererea de blocare.

tip de entitate, care face parte cererea. Solicitare ecluze Manager poate apartine mai multe obiecte diferite. Valorile valide sunt:

TRANZACȚII = Cerere de tranzacție aparține.

CURSOR = Cererea este proprietatea cursorului.

aparține sesiune de utilizator SESIUNE = interogare.

SHARED_TRANSACTION_WORKSPACE = Solicitare aparține partea generală a spațiului de lucru al tranzacției.

EXCLUSIVE_TRANSACTION_WORKSPACE = Cerere apartine exclusiv o parte a zonei de lucru a tranzacției.

NOTIFICATION_OBJECT = interogare aparține componentei interne a SQL Server. Această componentă este solicitată să notifice aceasta controler blochează atunci când cealaltă componentă este în așteptare pentru a dobândi de blocare. Funcția FileTable - este componenta care utilizează această valoare.

Spațiile de lucru sunt concepute pentru uz intern; ele păstrează blocarea pentru sesiuni securizate.

Identificator de solicitarea specifică a proprietarului.

În cazul în care titularul cererii este o tranzacție, această valoare conține identificatorul de tranzacție.

În cazul în care proprietarul interogarea este un tabel FileTable, request_owner_id are una dintre următoarele valori.

Statutul aprobat cererea arată că blocarea resurselor a fost furnizate entității solicitante. Până la cerere indică faptul că solicitarea nu a fost acordată. Următorul tip de solicitări în așteptare returnează request_status coloana.

Abilitatea de a converti interogarea înseamnă că entitatea solicitantă a primit cererea de resurse, iar acum așteaptă să se acorde pentru a actualiza cererea inițială.

În așteptarea cerere înseamnă că, până în prezent, entitatea care solicită nu a fost aprobat cererea de resurse.

Deoarece sys.dm_tran_locks de reprezentare a structurilor de date populate încuietori controler intern, serviciul de date nu adaugă sarcini suplimentare la prelucrarea normală a datelor. Pentru materializarea ideilor necesită acces la structurile interne ale datelor managerului de blocare. Acest lucru poate afecta ușor procesarea normală pe server. Acest impact ar trebui să fie în umbră și apar numai în raport cu resursele utilizate în mod frecvent. Deoarece datele din această reprezentare corespunde activității de blocare dispecer, ei pot, în orice moment de schimbare, iar liniile sunt adăugate și îndepărtate ca emiterea și anularea broaștei. Pentru această prezentare nu sunt date istorice.

Două interogări sunt executate pe aceeași resursă numai atunci când toate coloanele sunt din același grup de resurse.

Gestionați operațiunile de blocare a citit folosind următoarele mijloace.

SET TRANSACTION IZOLARE LEVEL pentru a determina blocarea la nivel de sesiune. Pentru informații suplimentare. A se vedea SET DE NIVEL DE TRANZACȚIE IZOLARE (Transact-SQL).

Tabelul de blocare indicii pentru a specifica nivelul de blocare pentru o referință individuală în clauza FROM din tabel. Sintaxa și restricții, vezi. Tabelul din secțiunea indicații (Transact-SQL).

In cadrul unei sesiuni, resursa se poate acorda mai mult de un bloc. obiecte diferite în cadrul unei sesiuni poate fi dat încuietori pe aceeași resursă; Aceste informații sunt afișate în coloanele sys.dm_tran_locks request_owner_type reprezentare și request_owner_id. În cazul existenței mai multor instanțe ale aceluiași tip coloană request_owner_type request_owner_id folosit pentru a distinge copii. În cazul unei coloane de tranzacții distribuite request_owner_type request_owner_guid și va afișa o varietate de informații despre entitate.

De exemplu, S1 are o sesiune de împerechere Table1 de blocare de masă. o tranzacție T1, care a fost lansat in S1 sesiune, de asemenea, are o împerechere Table1 de blocare de masă. În acest caz, resource_description coloană. Returnează un sys.dm_tran_locks. Se afișează două instanțe ale aceleiași resurse. Într-un caz coloană request_owner_type este afișat ca o conversație, un al doilea - o tranzacție. În plus, coloana resource_owner_id va conține valori diferite.

cursoare multiple existente în aceeași sesiune, imposibil de distins și sunt tratate ca o singură entitate.

tranzacțiile distribuite nu sunt legate de valoarea identificator de sesiune este pierdut, și identificatorul de sesiune i se atribuie o valoare de -2. Pentru mai multe informații, consultați. În secțiunea UCIDE (Transact-SQL).

Detalii resursă

Tabelul de mai jos listează resursele prezentate în coloana resource_associated_entity_id.