none
Transações em Stored Procedure RRS feed

Respostas

  • SQLServerDBUser,

    Na estrutura que está criado realmente seu log vai crescer até finalizar todo o processamento da procedure principal ("pr").

    Você já tentou verificar a possibilidade de substituir esta procedure por um Job, onde cada "Step" teria uma única procedure.

    Em um Job, os processos de cada Step são executados sequencialmente, mas não obriga que exista sucesso em um Step para executar o próximo. Da mesma forma, você poderá cancelar a execução de todos os Steps caso ocorra alguma falha, ou então "pular" um Step.

    Enfim, acredito que esta alternativa seja mais segura e vai reduzir o crescimento do seu log.

    Caso o problema persista (desde que você utilize apenas "fora do horário" de uso em Produção) você poderá intercalar com o comando CHECKPOINT, para forçar o SQL Server à escrever os dados no banco. Na verdade, esta dica seria a última opção (entre todas).

    Para maiores informações sobre SQL Jobs e o comando CHECKPOINT, veja:

    http://msdn.microsoft.com/pt-br/library/ms188748.aspx

    http://technet.microsoft.com/en-us/library/ms181153(v=sql.105).aspx

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    quinta-feira, 31 de julho de 2014 18:37
    Moderador
  • Deleted
    quinta-feira, 31 de julho de 2014 19:08

Todas as Respostas

  • SQLServerDBUser,

    Na estrutura que está criado realmente seu log vai crescer até finalizar todo o processamento da procedure principal ("pr").

    Você já tentou verificar a possibilidade de substituir esta procedure por um Job, onde cada "Step" teria uma única procedure.

    Em um Job, os processos de cada Step são executados sequencialmente, mas não obriga que exista sucesso em um Step para executar o próximo. Da mesma forma, você poderá cancelar a execução de todos os Steps caso ocorra alguma falha, ou então "pular" um Step.

    Enfim, acredito que esta alternativa seja mais segura e vai reduzir o crescimento do seu log.

    Caso o problema persista (desde que você utilize apenas "fora do horário" de uso em Produção) você poderá intercalar com o comando CHECKPOINT, para forçar o SQL Server à escrever os dados no banco. Na verdade, esta dica seria a última opção (entre todas).

    Para maiores informações sobre SQL Jobs e o comando CHECKPOINT, veja:

    http://msdn.microsoft.com/pt-br/library/ms188748.aspx

    http://technet.microsoft.com/en-us/library/ms181153(v=sql.105).aspx

    Se ajudou na sua solução, não esqueça de marcar como resposta !

    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    quinta-feira, 31 de julho de 2014 18:37
    Moderador
  • Deleted
    quinta-feira, 31 de julho de 2014 19:08
  • Deleted
    quinta-feira, 31 de julho de 2014 20:01
  • Olá José,

    Sim, existe a cláusula WHERE filtrando as linhas e diminuindo a sobrecarga. vou tentar disponibilizar o codigo fonte..

    sexta-feira, 1 de agosto de 2014 10:32
  • Deleted
    domingo, 3 de agosto de 2014 20:39