Lock dbcc checkdb no sys.sysschobjs
-
Montag, 9. April 2012 15:10
Bom dia Pessoal,
Estou com o seguinte Problema:
Executed as user: dominio\login . Object ID 34 (object 'sys.sysschobjs'): DBCC could not obtain a lock on this object because the lock request timeout period was exceeded. This object has been skipped and will not be processed. [SQLSTATE 42000] (Error 5245). The step failed.
O lock está acontecendo na madrugada, porém não é sempre, então dificulta um pouco eu traçar um log do problema. De repente, seja uma bobeira e alguém faça idéia do que está havendo.
Não consegui muitas informações sobre a tabela sys.sysschobjs, então se alguém tiver alguma idéia do problema e puder contribuir agradeço.Abs.
Raionan
Alle Antworten
-
Montag, 9. April 2012 23:26
Olá Raionan, coom vai?
Fica muito dificil conseguir uma resposta assim somente com essa mensagem de erro, mas podemos fazer o seguinte: Investigar com mais detalhes, por exemplo: Quer horas isso ocorre de madrugada? É sempre no horário XX:XX:XX ??? Se sim, tem algum JOB que executa neste horario ou finaliza neste horario? Se sim, o que esse job faz? Talvez ele acesse uma tabela com um usuário Executed as user: dominio\login e ele não tenha permissão e fica tentando conectar até dar um timeout, faz sentido não acha?!
Raionan, vamos tentar investigar seu problema para "funilar" e encontrar a solução mais provável do seu problema.
Veja esses itens que comentei e poste aqui que vamos conseguir auxilia-lo na soluão.
Um forte abraço
Clayton Santos
ITIL|MCTS|MCITP
Administrador de Banco de Dados
casclayton@gmail.com
http://casclayton.wordpress.com/ -
Dienstag, 10. April 2012 12:57
Concordo, a mensagem diz mesmo timeout por lock. Ele é um job diário que faz um dbcc checkdb. Não há jobs concorrentes, apenas as aplicações on-line.
O que me deixa com a pulga atras da orelha é saber que isso acontece por volta de 2~3 vezes no mês aleatoriamente e o lock é em um objeto interno do sqlserver.
O usuário em questão é sysadmin, e é o login do sqlagent. Problema de permissão não faria sentido.
vou ter que monitorar no horário mesmo e esperar acontecer novamente para saber quem é o bloqueador.
volto a postar quando tiver mais informações.
Obrigado,
Raionan
-
Dienstag, 10. April 2012 14:02
Olá Raionan, te recomendo abrir um SQL Profiler e acompanhar os locks e as t-sql que forem necessárias.
Deixa rodando a noite e no dia seguinte tu consegue identificar o que causou esse bloqueio.
Espero que ajude, vlew.
--
Marcus Vinícius Bittencourt
blog: isqlserver.wordpress.com
www.sqlserverRS.com.br -
Dienstag, 10. April 2012 14:28
Olá Raionan, como vai?
Como o amigo Marcus informou, é um excelente idéia colocar um SQL Profiler para tentar pegar os locks que estão ocorrendo na madrugada, mas apenas tome cuidado pois o profiler utilizar muito recursos da maquina (servidor) que será executado para não atrapalhar no seu negócio questões de performance.
Acho que o ideal é acompanhar todo o processo pelo Event View e históricos do job para identificar o problema. Preste muita atenção no horário, de repente pode ocorrer algum tipo de concorrencia por meio de outros jobs ou schedule de algum processo do Windows.
Assim que conseguir, poste o resutado.
Um forte abraço
Clayton Santos
ITIL|MCTS|MCITP
Administrador de Banco de Dados
casclayton@gmail.com
http://casclayton.wordpress.com/ -
Mittwoch, 11. April 2012 12:08
Bom peguei o maledito... mas não consegui identificar o motivo ainda.
no sp_lock retorna o lock no obj 34 que é dita cuja da tabela..
spid dbid ObjId IndId Type Resource Mode Status
------ ------ ----------- ------ ---- -------------------------------- -------- ------
113 7 0 0 DB S GRANT
113 2 34 0 TAB IX GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 167642940 0 TAB Sch-M GRANT
113 2 34 2 KEY (d476a7c420a5) X GRANT
113 2 34 2 KEY (efd5e7795b05) X GRANT
113 2 34 3 KEY (ebff493ccb7e) X GRANT
113 7 0 0 MD 5(1:0:0) Sch-S GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 2 1662600261 0 TAB Sch-M GRANT
113 7 0 0 MD 8(2:0:0) Sch-S GRANT
113 2 34 3 KEY (9ed9886e4f98) X GRANT
113 2 34 2 KEY (042d6bd3585a) X GRANT
113 2 34 2 KEY (72445575a200) X GRANT
113 7 0 0 MD 8(3:0:0) Sch-S GRANT
113 2 34 3 KEY (2143704c4ffc) X GRANT
113 2 34 2 KEY (e6419119ba37) X GRANT
113 2 34 2 KEY (e4b8df9536f4) X GRANT
113 2 34 1 KEY (b630940193a3) X GRANT
113 2 34 3 KEY (c4634d95a9d2) X GRANT
113 2 34 2 KEY (63a4d2e224bc) X GRANT
113 2 34 3 KEY (e11faa316507) X GRANT
113 2 34 2 KEY (52287b6221ed) X GRANT
113 2 34 2 KEY (cc82ec69307a) X GRANT
113 2 34 3 KEY (232a167dd2e6) X GRANT
113 2 34 1 KEY (5885326b09c9) X GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 727644935 0 TAB Sch-M GRANT
113 2 34 3 KEY (6646e099b931) X GRANT
113 2 34 2 KEY (822996734c1a) X GRANT
113 2 34 1 KEY (a6955e99f7d8) X GRANT
113 2 34 1 KEY (0b9e9f94af07) X GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 1742600546 0 TAB Sch-M GRANT
113 2 34 2 KEY (00b695ebea11) X GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 663644707 0 TAB Sch-M GRANT
113 2 34 1 KEY (d66e13de0230) X GRANT
113 2 34 1 KEY (d060a22b65ba) X GRANT
113 2 34 3 KEY (3bdd00a5907d) X GRANT
113 2 34 2 KEY (3893a2628664) X GRANT
113 2 34 3 KEY (b6de9b17b8e9) X GRANT
113 2 34 1 KEY (ca7e0ff9ffa6) X GRANT
113 2 34 2 KEY (673f2cda96f7) X GRANT( tem mais, mas não cabe aqui ...)
Os comandos que eu peguei foram do aplicativo desenvolvido em PowerBuilder 8 (ô lançamento!) e foram de select em algumas tabelas com nível de isolamento Read Commited.
O que não entendo é o maldito lock no obj 34, que não tem nada haver com os comandos da aplicação (selects diversos).
-
Mittwoch, 11. April 2012 12:30analisando mais aqui, acho isso daí pode ser tabela temporária de comandos anteriores aos selects..
-
Mittwoch, 11. April 2012 12:35
Raionan, agora precisa pegar o momento em que ocorre este bloqueio.
O ideal para identificar o que realmente ocorre seria através do Profiler para ver exatamente a query de onde veio e inclusive para poder reproduzir o problema e descobrir o que esta ocorrendo.
--
Marcus Vinícius Bittencourt
blog: isqlserver.wordpress.com
www.sqlserverRS.com.br -
Mittwoch, 11. April 2012 13:34
matei pessoal.. tabela temporária numa transação aberta que não estava sendo fechada.- Als Antwort vorgeschlagen Clayton Santos Mittwoch, 11. April 2012 15:01
-
Mittwoch, 11. April 2012 15:02
Olá Raionan, como vai?
Boa, então não esta utilizando o comando COMMIT na transação?
Um forte abraço
Clayton Santos
ITIL|MCTS|MCITP
Administrador de Banco de Dados
casclayton@gmail.com
http://casclayton.wordpress.com/ -
Freitag, 13. April 2012 13:38
O Power builder 8 aqui, esta com uma configuração que o desenvolvedor precisa dar o commit sempre, pois ele trabalha sempre com a transação aberta.
Tem um parte do codigo que ele chama uma proc que cria tabelas temporárias e após a utilização da proc, o sistema aguardava um comando do usuário de confirmação para commit ou rollback. Acontece que alguns usuários não confirmava ou deixava o sistema aberto na workstation e ia embora.
Sendo assim a transação permanecia aberta. Comuniquei ao desenvolvedor, que alterou o código para não depender da confirmação do usuário o commit.

