none
Nome Backup Personalizado RRS feed

  • Pergunta

  • Prezados, gostaria de ter um exemplo de rotina de Backup, onde personalizariamos o Nome do mesmo, com isso teria um backup diario no formato NOMEDOBACKUP+DATADODIA que ficaria NOMEBACKUP20130118. Alguem poderia me ajudar?

    Abs a todos



    Marcelo Nogueira

    sexta-feira, 18 de janeiro de 2013 16:58

Respostas

  • Olá Marcelinho...

    Eu uso essa query. Ela faz backup de todos os bancos ou somente dos selecionados, com o nome no formato que você achar 

    DECLARE @name VARCHAR(50) 

    -- database name  

    DECLARE @path VARCHAR(256) 

    -- path for backup files  

    DECLARE @fileName VARCHAR(256) 

    -- filename for backup  

    DECLARE @fileDate VARCHAR(20) 

    -- used for file name 

    SET @path = 'D:\MSSQLSERVER\BACKUP'  

    SELECT  @fileDate = CONVERT(VARCHAR(20), GETDATE(), 112) 

    DECLARE db_cursor CURSORFOR

        SELECT  name

        FROM    master.dbo.sysdatabases

      --WHERE name IN ('DB_1', 'DB_2') --- Se comentado, processa todos os bancos de dados.

    OPEN db_cursor

      FETCH NEXT FROM db_cursor INTO @name

      WHILE @@FETCH_STATUS = 0

         BEGIN

              SET @fileName = @path + '_' + @name + '_' + @fileDate + '.BAK'

             BACKUP DATABASE @name TO DISK = @fileName

             FETCH NEXT FROM db_cursor INTO @name

          END

      CLOSE db_cursor

      DEALLOCATE db_cursor 


    Espero que lhe seja útil.

    Abraço !!!


    Não esqueça de marcar o post como útil caso tenha te ajudado.


    sexta-feira, 18 de janeiro de 2013 19:30

Todas as Respostas

  • Olá Marcelinho...

    Eu uso essa query. Ela faz backup de todos os bancos ou somente dos selecionados, com o nome no formato que você achar 

    DECLARE @name VARCHAR(50) 

    -- database name  

    DECLARE @path VARCHAR(256) 

    -- path for backup files  

    DECLARE @fileName VARCHAR(256) 

    -- filename for backup  

    DECLARE @fileDate VARCHAR(20) 

    -- used for file name 

    SET @path = 'D:\MSSQLSERVER\BACKUP'  

    SELECT  @fileDate = CONVERT(VARCHAR(20), GETDATE(), 112) 

    DECLARE db_cursor CURSORFOR

        SELECT  name

        FROM    master.dbo.sysdatabases

      --WHERE name IN ('DB_1', 'DB_2') --- Se comentado, processa todos os bancos de dados.

    OPEN db_cursor

      FETCH NEXT FROM db_cursor INTO @name

      WHILE @@FETCH_STATUS = 0

         BEGIN

              SET @fileName = @path + '_' + @name + '_' + @fileDate + '.BAK'

             BACKUP DATABASE @name TO DISK = @fileName

             FETCH NEXT FROM db_cursor INTO @name

          END

      CLOSE db_cursor

      DEALLOCATE db_cursor 


    Espero que lhe seja útil.

    Abraço !!!


    Não esqueça de marcar o post como útil caso tenha te ajudado.


    sexta-feira, 18 de janeiro de 2013 19:30
  • Roberson, foi sim util para entender melhor minha necessidade, grato pela atenção

    abs


    Marcelo Nogueira

    domingo, 20 de janeiro de 2013 14:13