none
SSPID -3 RRS feed

  • Pergunta

  • Bom dia Pessoal,

    Recentemente houve uma "queda" de um dos servidores da empresa (fizeram um desligamento forçado acidental). Assim uma de nossas base de dados entrou em recovery (apenas 6 TB de informação). 3 dias depois ela voltou mas todo processo que era executado era travado (lock) por uma sessão (-3).

    Após varias pesquisas parece ser um id criado pelo próprio SQL Server como segurança de um processo que esta sendo executado internamente. E não obtive nenhuma resposta positiva de como resolver. Um disse "espera que termina o processo e libera o -3 sozinho (porem já fazem 2 a 3 semanas e o processo não termina), outros restauraram backups antigos, e por ae vai....

    Como não posso ficar parado, restaurei um backup antes do "problema"  e recomeçamos os serviços a partir dai.

    Gostaria de saber mais sobre esse caso e de como resolver o mesmo.

    (para efeito de curiosidade e solução o processo ainda continua rodando)

    Alguém já passou por isso?

    terça-feira, 17 de setembro de 2013 11:58

Respostas

  • Cara, Bom Dia.

    Isso ocorre por causa de uma deferred transaction

    http://technet.microsoft.com/pt-br/library/ms188290.aspx

    Tem um post do Paul Randal sobre Spid´s negativos que pode te ajudar

    http://www.sqlskills.com/blogs/paul/disaster-recovery-101-dealing-with-negative-spids-2-and-3/


    [ ]´s,
    Lukas Baldan

    • Sugerido como Resposta Giovani Cr segunda-feira, 23 de setembro de 2013 12:56
    • Marcado como Resposta Giovani Cr segunda-feira, 23 de setembro de 2013 12:57
    terça-feira, 17 de setembro de 2013 12:38
  • Fernando,

    Sim é isso mesmo, por padrão o SQL Server trabalha com SPID de 1 até 50 para controles de transações internas e processos realizados pelo próprio SQL Server.

    SPID acima de 51 são processos ou transações realizadas pelo usuário!!! Para que este tipo de Process ID seja encerrado provavelmente você terá que limpar o Buffer Cache do SQL Server, como em alguns casos fazer uso do comando Checkpoint para confirmar transações.

    Em sistemas extremas o processo de restart do serviço força que estes processos sejam encerrados, mais isso não é indicado.

    Agora falando especificando deste SPID -3, indica que os arquivos de dados ou log que formam o seu banco, estão com problemas para crescer, ou seja, provavelmente isso esta ocorrendo devido a falta de espaço em disco, ou configuração do tamanho de crescimento do arquivo de log que já deve estar no seu limite de capacidade.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]


    • Editado Junior Galvão - MVPMVP sexta-feira, 20 de setembro de 2013 18:14
    • Sugerido como Resposta Giovani Cr segunda-feira, 23 de setembro de 2013 12:56
    • Marcado como Resposta Giovani Cr segunda-feira, 23 de setembro de 2013 12:57
    sexta-feira, 20 de setembro de 2013 18:07

Todas as Respostas

  • Cara, Bom Dia.

    Isso ocorre por causa de uma deferred transaction

    http://technet.microsoft.com/pt-br/library/ms188290.aspx

    Tem um post do Paul Randal sobre Spid´s negativos que pode te ajudar

    http://www.sqlskills.com/blogs/paul/disaster-recovery-101-dealing-with-negative-spids-2-and-3/


    [ ]´s,
    Lukas Baldan

    • Sugerido como Resposta Giovani Cr segunda-feira, 23 de setembro de 2013 12:56
    • Marcado como Resposta Giovani Cr segunda-feira, 23 de setembro de 2013 12:57
    terça-feira, 17 de setembro de 2013 12:38
  • Bom dia Fernando,

    Você chegou a testar a sugestão que lhe foi passada?

    Caso ela funcione não esqueça de marcar como resposta para fechar a sua thread.

    Att,

     


    Giovani Cruzara – Microsoft Contingent Staff

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.

    Msdn Community Support

    Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 20 de setembro de 2013 17:38
  • Fernando,

    Sim é isso mesmo, por padrão o SQL Server trabalha com SPID de 1 até 50 para controles de transações internas e processos realizados pelo próprio SQL Server.

    SPID acima de 51 são processos ou transações realizadas pelo usuário!!! Para que este tipo de Process ID seja encerrado provavelmente você terá que limpar o Buffer Cache do SQL Server, como em alguns casos fazer uso do comando Checkpoint para confirmar transações.

    Em sistemas extremas o processo de restart do serviço força que estes processos sejam encerrados, mais isso não é indicado.

    Agora falando especificando deste SPID -3, indica que os arquivos de dados ou log que formam o seu banco, estão com problemas para crescer, ou seja, provavelmente isso esta ocorrendo devido a falta de espaço em disco, ou configuração do tamanho de crescimento do arquivo de log que já deve estar no seu limite de capacidade.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]


    • Editado Junior Galvão - MVPMVP sexta-feira, 20 de setembro de 2013 18:14
    • Sugerido como Resposta Giovani Cr segunda-feira, 23 de setembro de 2013 12:56
    • Marcado como Resposta Giovani Cr segunda-feira, 23 de setembro de 2013 12:57
    sexta-feira, 20 de setembro de 2013 18:07