Usuário com melhor resposta
Transações em Stored Procedure

Pergunta
-
....
- Editado Lucas S. Saraiva quarta-feira, 13 de agosto de 2014 12:52
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 RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Sugerido como Resposta Junior Galvão - MVPMVP quinta-feira, 31 de julho de 2014 19:38
- Marcado como Resposta Durval RamosModerator terça-feira, 14 de outubro de 2014 11:11
-
Deleted
- Sugerido como Resposta Junior Galvão - MVPMVP quinta-feira, 31 de julho de 2014 19:40
- Marcado como Resposta Durval RamosModerator terça-feira, 14 de outubro de 2014 11:11
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 RamosMicrosoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform---------------------------------- Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"- Sugerido como Resposta Junior Galvão - MVPMVP quinta-feira, 31 de julho de 2014 19:38
- Marcado como Resposta Durval RamosModerator terça-feira, 14 de outubro de 2014 11:11
-
Deleted
- Sugerido como Resposta Junior Galvão - MVPMVP quinta-feira, 31 de julho de 2014 19:40
- Marcado como Resposta Durval RamosModerator terça-feira, 14 de outubro de 2014 11:11
-
-
-