Partilhar via


sys.syslockinfo (Transact-SQL)

Contém informações sobre todas as solicitações de bloqueios concedidas, de conversão e em espera.

Observação importanteImportante

Esta tabela do sistema do SQL Server 2000 foi incluída como uma exibição para compatibilidade com versões anteriores. É recomendável usar as exibições do sistema SQL Server atual. Para localizar uma ou mais exibições do sistema equivalentes, consulte Mapeando tabelas do sistema do SQL Server 2000 para exibições do sistema do SQL Server 2005. Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

Observação importanteImportante

Esse recurso foi alterado em relação às versões anteriores do SQL Server. Para obter mais informações, consulte Alterações de quebra em recursos do Mecanismo de Banco de Dados no SQL Server 2008 R2.

Nome da coluna

Tipo de dados

Descrição

rsc_text

nchar(32)

Descrição textual de um recurso de bloqueio. Contém uma parte do nome de recurso.

rsc_bin

binary(16)

Recurso de bloqueio binário. Contém o recurso de bloqueio real que está contido no administrador de bloqueio. Esta coluna é incluída em ferramentas que conhecem o formato de recurso de bloqueio para gerar seu próprio recurso de bloqueio formatado e para executar junções próprias em syslockinfo.

rsc_valblk

binary(16)

Bloco de valor de bloqueio. Alguns tipos do recurso podem incluir dados adicionais no recurso de bloqueio sem hash do administrador de bloqueio para determinar a propriedade de um recurso de bloqueio específico. Por exemplo, bloqueios de página não pertencem a um ID de objeto específico. Para escalonamento de bloqueios e outros fins. Porém, o ID de objeto de um bloqueio de página pode ser incluído no bloco de valor de bloqueio.

rsc_dbid

smallint

ID de banco de dados associado ao recurso.

rsc_indid

smallint

ID de índice associado com o recurso, se apropriado.

rsc_objid

int

ID de objeto associado com o recurso, se apropriado.

rsc_type

tinyint

Tipo de recurso:

1 = Recurso NULL (não usado)

2 = Banco de dados

3 = Arquivo

4 = Índice

5 = Tabela

6 = Página

7 = Chave

8 = Extensão

9 = RID (ID de linha)

10 = Aplicativo

rsc_flag

tinyint

Sinalizadores de recursos internos.

req_mode

tinyint

Modo de solicitação de bloqueio. Esta coluna é o modo de bloqueio do solicitador e representa ou o modo concedido, convertido ou o modo de espera.

0 = NULL. Nenhum acesso concedido ao recurso. Funciona como espaço reservado.

1 = Sch-S (Estabilidade do esquema). Assegura que um elemento de esquema, como uma tabela ou índice, não seja cancelado enquanto qualquer sessão mantém o bloqueio de estabilidade do esquema no elemento do esquema.

2 = Sch-M (Modificação do esquema). Deve ser mantido por qualquer sessão que desejar alterar o esquema do recurso especificado. Assegura que nenhuma outra sessão esteja fazendo referência ao objeto indicado.

3 = S (Compartilhado). A sessão mantenedora possui acesso compartilhado ao recurso.

4 = U (Atualização). Indica um bloqueio de atualização adquirido em recursos que podem ser atualizados eventualmente. É usado para evitar uma forma comum de deadlock que ocorre quando várias sessões bloqueiam recursos para uma atualização potencial no futuro.

5 = X (Exclusivo). A sessão mantenedora possui acesso exclusivo ao recurso.

6 = IS (Compartilhamento intencional). Indica a intenção de colocar bloqueios S em algum recurso subordinado na hierarquia de bloqueio.

7 = IU (Atualização intencional). Indica a intenção de colocar bloqueios U em algum recurso subordinado na hierarquia de bloqueio.

8 = IX (Exclusivo intencional). Indica a intenção de colocar bloqueios X em algum recurso subordinado na hierarquia de bloqueio.

9 = SIU (Atualização intencional compartilhada). Indica o acesso compartilhado a um recurso com a intenção de adquirir bloqueios de atualização em recursos subordinados na hierarquia de bloqueio.

10 = SIX (Exclusivo intencional de compartilhamento). Indica o acesso compartilhado a um recurso com a intenção de adquirir bloqueios exclusivos em recursos subordinados na hierarquia de bloqueio.

11 = UIX (Exclusivo intencional de atualização). Indica a manutenção de um bloqueio de atualização de um recurso com a intenção de adquirir bloqueios exclusivos em recursos subordinados na hierarquia de bloqueio.

12 = BU. Usado por operações em massa.

13 = RangeS_S (Intervalo de chave compartilhada e bloqueio de recurso compartilhado). Indica varredura de intervalo serializável.

14 = RangeS_U (Intervalo de chave compartilhada e bloqueio de recurso de atualização). Indica verificação de atualização serializável.

15 = RangeI_N (Intervalo de chave de inserção e bloqueio de recurso nulo). Usado para testar intervalos antes de inserir uma nova chave em um índice.

16 = RangeI_S. Bloqueio de conversão de intervalo de chave criado por uma sobreposição dos bloqueios RangeI_N e S.

17 = RangeI_U. Bloqueio de conversão de intervalo de chave criado por uma sobreposição dos bloqueios RangeI_N e U.

18 = RangeI_X. Bloqueio de conversão de intervalo de chave criado por uma sobreposição dos bloqueios RangeI_N e X.

19 = RangeX_S. Bloqueio de conversão de intervalo de chave criado por uma sobreposição dos bloqueios RangeI_N e RangeS_S.

20 = RangeX_U. Bloqueio de conversão de intervalo de chave criado por uma sobreposição dos bloqueios RangeI_N e RangeS_U.

21 = RangeX_X (Bloqueio de intervalo de chave exclusivo e de recurso exclusivo). Este é um bloqueio de conversão usado na atualização de uma chave em um intervalo.

req_status

tinyint

O status de solicitação do bloqueio:

1 = concedido

2 = convertendo

3 = aguardando

req_refcnt

smallint

Contagem de referência de bloqueio. Sempre que uma transação solicita um bloqueio em um recurso específico, uma conta de referência é incrementada. O bloqueio não pode ser liberado até que a contagem de referência seja igual a 0.

req_cryrefcnt

smallint

Reservado para uso futuro. Sempre defina em 0.

req_lifetime

int

Bitmap de tempo de vida de bloqueio. Durante certas estratégias de processamento de consulta, devem ser mantidos os bloqueios nos recursos até que o processador de consulta complete uma fase específica da consulta. O bitmap de tempo de vida de bloqueio é usado pelo processador de consulta e gerenciador de transações para indicar grupos de bloqueios que podem ser liberados quando uma determinada fase de uma consulta terminar sua execução. São usados certos bits no bitmap para indicar bloqueios que são mantidos até o término de uma transação, até mesmo se a contagem de referência for igual a 0.

req_spid

int

ID de processo interno do Microsoft Mecanismo de banco de dados do SQL Server da sessão que solicita o bloqueio.

req_ecid

int

ID de contexto de execução (ECID). Usado para indicar qual thread em uma operação paralela possui um bloqueio específico.

req_ownertype

smallint

Tipo de objeto associado com o bloqueio:

1 = Transação

2 = Cursor

3 = Sessão

4 = ExSessão

Note que 3 e 4 representam uma versão especial de bloqueios de sessão, controle de banco de dados e bloqueios de grupos de arquivos respectivamente.

req_transactionID

bigint

ID de transação exclusiva usado em syslockinfo e em evento de perfil

req_transactionUOW

uniqueidentifier

Identifica o ID de unidade de trabalho (UOW) da transação de DTC. Para transações de DTC não MS, o UOW é definido como 0.

Permissões

Requer a permissão VIEW SERVER STATE no servidor.