sys.syslockinfo (Transact-SQL)

Aplica-se a:SQL Server

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

Importante

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 do SQL Server atual. Para encontrar a exibição ou exibições do sistema equivalentes, consulte Mapeando tabelas do sistema para exibições do sistema (Transact-SQL). 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.

Importante

Esse recurso foi alterado em relação a versões anteriores do SQL Server. Para obter mais informações, consulte Alterações interruptivas nos recursos do Mecanismo de Banco de Dados no SQL Server 2016.

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 está incluída para ferramentas que sabem sobre o formato de recurso de bloqueio para gerar seu próprio recurso de bloqueio formatado e para executar autojunções no 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 chaves criado por uma sobreposição de 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 do processo de Mecanismo de Banco de Dados do Microsoft SQL Server interno 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 usada no syslockinfo e no evento profiler
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 em 0.

Permissões

, é necessário ter permissão VIEW SERVER STATE no servidor.

Consulte Também

Mapeando tabelas do sistema para exibições do sistema (Transact-SQL)
exibições de compatibilidade (Transact-SQL)