Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Framework - Linha Logix - FRW - Como identificar locks no banco de dados do Logix em SQLServer?

time.png Tempo aproximado para leitura: 00:02:00 min

Dúvida

Como identificar locks no banco de dados do Logix em SQLServer?

Ambiente
Framework - Framework (Linha Logix) - Administração Logix - Todas as versões

Solução
Para identificar locks no banco de dados do Logix em SQLServer basta executar as consultas abaixo diretamente no banco de dados, utilizando qualquer ferramenta SQL - Structured Query Language suportada pelo banco.

SELECT 
blocking_session_id AS Sessao_Bloqueadora,
session_id AS Sessao_Bloqueada,
wait_type,
wait_time,
wait_resource,
DB_NAME(database_id) AS Nome_DB,
status,
command
FROM sys.dm_exec_requests
WHERE blocking_session_id <> 0;

Para identificar qual o registro correspondente no Logix, realize uma consulta na tabela LOG_DADOS_SESSAO_LOGIX filtrando pelos códigos retornados nos campos Sessao_Bloqueadora e Sessao_Bloqueada.

SELECT * FROM LOG_DADOS_SESSAO_LOGIX 
WHERE sid IN ( <Sessao_Bloqueadora>, <Sessao_Bloqueada> )

Você também pode visualizar qual o comando SQL que esta realizando o LOCK dos dados, para isso execute o seguinte comando.

SELECT c.session_id, es.program_name, es.login_name, 
es.host_name, DB_NAME(es.database_id) AS DatabaseName,
c.properties, c.creation_time, c.is_open, t.text
FROM sys.dm_exec_cursors (0) c
LEFT JOIN sys.dm_exec_sessions AS es ON c.session_id = es.session_id
CROSS APPLY sys.dm_exec_sql_text (c.sql_handle) t

O comando abaixo traz em uma única consulta todos os dados referente ao Lock que esta ocorrendo no banco de dados.

SELECT 
r.blocking_session_id AS Sessao_Bloqueadora,
r.session_id AS Sessao_Bloqueada,
r.wait_type,
r.wait_time,
DB_NAME(r.database_id) AS Nome_DB,
r.status,
c.creation_time,
c.is_open,
t.text AS Query_Cursor,
l.PROGRAMA
FROM sys.dm_exec_requests r
LEFT JOIN sys.dm_exec_cursors(0) c ON r.session_id = c.session_id
LEFT JOIN sys.dm_exec_sessions s ON c.session_id = s.session_id
LEFT JOIN LOGIX.LOG_DADOS_SESSAO_LOGIX l ON r.session_id = l.SID
CROSS APPLY sys.dm_exec_sql_text(c.sql_handle) t
WHERE r.blocking_session_id <> 0;

 

 

 

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _