Confiabilidade de pacotesno SSISLuciano Caixeta Moreiraluciano.moreira@srnimbus.com.brwww.srnimbus.com.brhttp://luticm.blo...
AgendaTransaçõesCheckpointsDatabase SnapshotsConclusão
TransaçõesPermite que as tarefas se “alistem” para participar de umatransaçãoCada tarefa possui sua TransactionOption:•   ...
TransaçõesIsolation Level: define o nível de isolamento datransação•   READ UNCOMMITTED•   READ COMMITTED•   REPEATABLE RE...
TransaçõesError: The SSIS Runtime has failed to start thedistributed transaction due to error 0x8004D01B"The Transaction M...
Transações explícitas (sem o DTC)Como conseguir que duas tarefas diferentesparticipem da mesma transação?Propriedade da co...
DemoTransações
CheckpointsRecurso do SSIS que permite um pacote reiniciardo ponto onde ele parouArmazena em arquivo XML informações sobre...
CheckpointsPara uma tarefa que falha alterar os dados decheckpoint é necessário FailPackageOnFailure =TRUELógica para gara...
CheckpointsSomente funciona para Control FlowData flow deve ser garantido por outros  mecanismosCheckpoint somente é manti...
DemoCheckpoints
Database snapshotNovidade do SQL Server 2005.Cria uma imagem do banco de dados consistenteno tempo e somente leitura.Traba...
Database snapshot   Escrita de uma   Leitura da   página           tabela
DemoDatabase Snapshots
DificuldadesTransações•   Bloqueios em excesso podem impactar o ambiente em cargas em    tempo real•   Bulk load trabalhar...
DificuldadesDatabase snapshot•   O mecanismo mais simples de ser implementado•   Pode não ser factível em um ambiente onde...
ConclusãoBuscar uma maior confiabilidade do pacote é deverdo programador SSISÉ melhor a ausência do dado ou dadosinconsist...
Upcoming SlideShare
Loading in …5
×

Confiabilidade de pacotes no SSIS

874 views
809 views

Published on

Apresentação feita para o grupo MCITPSC
Assunto: confiabilidade de pacotes no SSIS

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
874
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Confiabilidade de pacotes no SSIS

  1. 1. Confiabilidade de pacotesno SSISLuciano Caixeta Moreiraluciano.moreira@srnimbus.com.brwww.srnimbus.com.brhttp://luticm.blogspot.com@luticm
  2. 2. AgendaTransaçõesCheckpointsDatabase SnapshotsConclusão
  3. 3. TransaçõesPermite que as tarefas se “alistem” para participar de umatransaçãoCada tarefa possui sua TransactionOption:• Required: exige a existência de uma transação. Se não houver uma transação aberta uma nova é criada.• Supported: participa ou não de uma transação, mas não cria uma nova transação.• NotSupported: não participa da transação, mas não gera uma exceção caso uma transação esteja em curso.Não são todas as tarefas que suportam transações
  4. 4. TransaçõesIsolation Level: define o nível de isolamento datransação• READ UNCOMMITTED• READ COMMITTED• REPEATABLE READ• SERIALIZABLE• SNAPSHOTConfigura o pacote para trabalhar com transaçãoe...
  5. 5. TransaçõesError: The SSIS Runtime has failed to start thedistributed transaction due to error 0x8004D01B"The Transaction Manager is not available.“MSDTC = Microsoft Distributed TransactionCoordinatorToda transação no SSIS é tratada como umatransação distribuída e se alinha com o 2PC (twophase commit)NET START MSDTC
  6. 6. Transações explícitas (sem o DTC)Como conseguir que duas tarefas diferentesparticipem da mesma transação?Propriedade da conexão RetainSameConnectionBEGIN TRAN e COMMIT são explícitosCuidado para evitar que uma mesma transaçãoseja utilizada em lugares indevidosManter duas conexões pode ser uma boa prática• ConexaoSemTransacao• ConexaoComTransacao
  7. 7. DemoTransações
  8. 8. CheckpointsRecurso do SSIS que permite um pacote reiniciardo ponto onde ele parouArmazena em arquivo XML informações sobre oponto onde o pacote falhouSaveCheckpointsCheckpointUsage• IfExists• Always• NeverCheckpointFileName
  9. 9. CheckpointsPara uma tarefa que falha alterar os dados decheckpoint é necessário FailPackageOnFailure =TRUELógica para garantir o reinício correto do pacotenem sempre é simplesPode ser utilizado em conjunto com tarefas e suastransaçõesNão é permitido transações no nível do pacote echeckpoints ao mesmo tempoE nem faz sentido...
  10. 10. CheckpointsSomente funciona para Control FlowData flow deve ser garantido por outros mecanismosCheckpoint somente é mantido somente se opacote falharCuidado com falhas de tarefas e precedência de falhaCheckpoints sempre reiniciam os loops!Não trabalham com variáveis do tipo object
  11. 11. DemoCheckpoints
  12. 12. Database snapshotNovidade do SQL Server 2005.Cria uma imagem do banco de dados consistenteno tempo e somente leitura.Trabalha com o conceito de sparse files, recursodo sistema de arquivos NTFS.• Somente contém as páginas que foram alteradas a partir da criação do snapshot.Trabalha com o conceito de copy-on-write (figura aseguir).Vários snapshots podem ser criados.• Somente um pode existir para um restore.
  13. 13. Database snapshot Escrita de uma Leitura da página tabela
  14. 14. DemoDatabase Snapshots
  15. 15. DificuldadesTransações• Bloqueios em excesso podem impactar o ambiente em cargas em tempo real• Bulk load trabalhar com um tipo diferente de bloqueio• MSDTC pode ser um problemaCheckpoints• Cargas parciais de dados pelos buffers não são garantidas pelo checkpoint• É necessário proteger o arquivo XML, caso contrário podemos introduzir inconsistências
  16. 16. DificuldadesDatabase snapshot• O mecanismo mais simples de ser implementado• Pode não ser factível em um ambiente onde transações concorrentes estão acontecendo, pois o Revert (restore do snapshot) causaria perda de dados• Criação de um ambiente paralelo somente para carga de dados pode resolver o problema
  17. 17. ConclusãoBuscar uma maior confiabilidade do pacote é deverdo programador SSISÉ melhor a ausência do dado ou dadosinconsistentes ou parcialmente carregados?• É o negócio que deve dizer isso!Entender os trade-offs é importante para a soluçãoNão resolve o erro do arquivo, somente visa aconsistência dos dados

×