locked
StopAT

    Pergunta

  • Boa tarde

    Estou com uma situação interessante aqui.

    Cenário:

    Fazemos o Backup FULL semanalmente , Diferencial a cada 12 e o transacional a cada 10 minutos, iniciado sempre as 00:00

    Tenho um banco em que a cada 5 minutos tem 2 tabelas atualizadas ok? Estamos revisando o código de uma procedure para efetuar o restore, e o comando STOPAT não está com o comportamento correto por exemplo, se eu quero a posição das 15:45, tentei o STOP AS até as 15:49 e não aparece o registro das 15:45, somente aparece seu eu restaurar o transacional das 15:50 por completo.

    Já usei o SSMS, T-SQL, Script gerado pelo SSMS, todos estão iguais e têm o mesmo comportamento. Alguma dica?

    SQL 2016 SP1 Enterprise

    Agradeço desde já a atenção

    sexta-feira, 2 de março de 2018 19:13

Todas as Respostas

  • Jose Marcelo,

    Você poderia compartilhar o código desta Stored Procedure?

    Se você esta fazendo backup transacional a cada 10 minutos, teoricamente este registro deverá estar no período das 15:40 ás 15:50hrs.

    Qual é o formato que você esta passando o valor da hora?


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quarta-feira, 7 de março de 2018 19:27
    Moderador
  • Bom dia Junior

    Baixo segue um exemplo onde quero restaurar o database BANCO até as 00:35. Alterei algumas informações que são pertinentes ao meu ambiente mas a sintaxe permanece, inclusive o formato de data

    restore database [banco] from disk = N'\\local do backup\BKP_FULL\banco\bkp_full_banco_servidor_20180305_001723_230.bak' with norecovery, stats=5,replace restore log [banco] from disk = N'\\local do backup\BKP_TRN\banco\bkp_log_banco_servidor_20180305_002013_503.trn' WITH NORECOVERY ,STOPAT = '2018-03-05 00:37:00' restore log [banco] from disk = N'\\local do backup\BKP_TRN\banco\bkp_log_banco_servidor_20180305_003026_733.trn' WITH NORECOVERY ,STOPAT = '2018-03-05 00:37:00' restore log [banco] from disk = N'\\local do backup\BKP_TRN\banco\bkp_log_banco_servidor_20180305_004004_453.trn' WITH NORECOVERY ,STOPAT = '2018-03-05 00:37:00' RESTORE LOG successfully processed 3 pages in 0.006 seconds (3.824 MB/sec).


    O resultado da tabela:

    2018-03-05 00:30:00
    2018-03-05 00:25:00
    2018-03-05 00:20:00

    Não carregou o horário das 00:35

    Obrigado mais uma vez amigo

    sexta-feira, 9 de março de 2018 12:43
  • Jose Marcelo,

    Faça um teste, tente restaurar a posição das 00:40!!!


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sexta-feira, 9 de março de 2018 13:07
    Moderador
  • Junior

    Colocando até as 00:40, o resultado é o mesmo porém se eu tirar o StopAT, o registro aparece.

    sexta-feira, 9 de março de 2018 14:13
  • Jose,

    Então era justamente isso que eu queria saber, a instrução StopAt ela faz justamente a restauração de dados com base em uma marcação de tempo.

    Você esta especificando o formato de data e hora parecido com este: 'Apr 15, 2020 12:00 AM'

    Veja se este exemplo te ajuda a analisar a lógica que você esta utilizando:

    RESTORE DATABASE AdventureWorks2012  
       FROM AdventureWorksBackups  
       WITH FILE=3, NORECOVERY;  
    
    RESTORE LOG AdventureWorks2012  
       FROM AdventureWorksBackups  
       WITH FILE=4, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';  
    
    RESTORE LOG AdventureWorks2012  
       FROM AdventureWorksBackups  
       WITH FILE=5, NORECOVERY, STOPAT = 'Apr 15, 2020 12:00 AM';  
    RESTORE DATABASE AdventureWorks2012 WITH RECOVERY;  


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    segunda-feira, 12 de março de 2018 22:46
    Moderador
  • Tópico encerrado por ausência de resposta por parte doautor.
    Caso o autor tenha interesse em continuar o assunto, favor abrir novo tópico.
    sábado, 28 de abril de 2018 14:19
    Moderador