Procedure sp_usrheadblocker

05/12/2014

0

Boa tarde pessoal,

Hoje eu tive um problema em um cliente. Descobri que existiam 5 processos no sql que estavam usando a mesma tabela e com isso estavam travando essa tabela.
Acabei matando o processo principal e resolvi o problema. Li em um artigo que a procedure sp_usrheadblocker me mostra qual conexão esta travando minha instrução sql.
Não consegui executar essa procedure nem com usuário sa. Alguém já executou essa procedure?
O retorno do comando, é que o banco não conseguiu encontrar a procedure executada.
Odilon Junior

Odilon Junior

Responder

Posts

05/12/2014

Soeuseijothaz

Acho mais recomendado identificar o porque que esta ficando bloqueado.

Acredito que na sua aplicação em algum momento não esta sendo fechada a conexão ou pode esta fazendo lock de registro sem necessidade.

Você deve verificar qual funcionalidade esta sendo usada quando bloqueia a tabela e ver se realmente é necessário o bloqueio.

Se você tiver certeza de que não será necessário o lock, um select por exemplo, pode usar a clausula NOLOCK. Agora cuidado pois se usá-la de forma incorreta pode afetar a integridade do seu bd.
Responder

05/12/2014

Odilon Junior

Acho mais recomendado identificar o porque que esta ficando bloqueado.

Acredito que na sua aplicação em algum momento não esta sendo fechada a conexão ou pode esta fazendo lock de registro sem necessidade.

Você deve verificar qual funcionalidade esta sendo usada quando bloqueia a tabela e ver se realmente é necessário o bloqueio.

Se você tiver certeza de que não será necessário o lock, um select por exemplo, pode usar a clausula NOLOCK. Agora cuidado pois se usá-la de forma incorreta pode afetar a integridade do seu bd.



Eu vi que os processos eram 4 selects e 1 delete. Consegui inclusive ver esses comandos.
Eu ja havia rodado o mesmo select usando o nolock e o retorno mostrava o que era esperado.
Na verdade eu queria ver o retorno dessa procedure. Você já a executou Jothaz ??
Responder

06/12/2014

Rafael Souza

 select *  
  from tabela (WITH NOLOCK)

// Se travar a tabela, da uma olhada no teu código e verifica se não há nenhuma redundância ou 
// se a procedure esta trabalhando com tabelas temporárias ou
// verifica as tabelas relacionadas etc..
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar