sys.syslockinfo (Transact-SQL)
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 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. |
Importante |
---|
Esse recurso foi alterado em relação às versões anteriores do SQL Server. Para obter mais informações, consulte Alterações em recursos do Mecanismo de Banco de Dados que causam interrupção no SQL Server 2012. |
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 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 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 em 0. |
Permissões
Requer a permissão VIEW SERVER STATE no servidor.
Consulte também
Referência
Mapeando tabelas do sistema para exibições do sistema (Transact-SQL)