locked
Como faço para fazer uma rotina de backup no SQL 2000 RRS feed

  • Discussão Geral

  • Pessoal eu preciso fazer uma rotina de backup no SQL Server 2000, qual é o meio mais fácil de fazer ? e qual o procedimento ?


    Obrigado a todos.
    quarta-feira, 22 de julho de 2009 13:07

Todas as Respostas

  • Pontesx

    O maneira mais prática é através do maintenance Plan, embora acho melhor vc fazer um script de backup e schedular um job para esta tarefa.

    Att.
    Marcelo Fernandes
    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    quarta-feira, 22 de julho de 2009 13:27
    Moderador
  • Ok Marcelo ...

    Por favor poderia me passar os procedimento de execução, a maneira que estou fazendo é SQL Enterprise Manager > data base > Database X > botao direito > all task > Backup Database


    existe algum problema em fazer este procedimento ? .

    poderia me passar o procedimento de fazer este script ?



    Obrigado .

    Rafael Pontesx
    quarta-feira, 22 de julho de 2009 13:38
  • Este é um script básico

    BACKUP DATABASE [nomedodatabase] 
    TO  DISK = N'c:\nome.bak'
    GO

    Sugiro leitura do BOL

    ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/tsqlref9/html/89a4658a-62f1-4289-8982-f072229720a1.htm

    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    quarta-feira, 22 de julho de 2009 13:58
    Moderador
  • Olá,

    Além do plano de manutenção que foi citado pelo Marcelo, você pode criar um job e agendar os horários que deseja fazer o backup.

    Abaixo segue um script básico que faz backup full de todas as bases de uma determinada instância:

    SET NOCOUNT ON
    
    DECLARE @DATABASE VARCHAR(255)
    DECLARE @SQL AS NVARCHAR(MAX)
    
    DECLARE C_SQL CURSOR FOR
    	SELECT NAME FROM SYS.DATABASES
    OPEN C_SQL
    
    FETCH NEXT FROM C_SQL INTO @DATABASE
    
    WHILE @@FETCH_STATUS = 0
    BEGIN
    
    	SET @SQL =	'BACKUP DATABASE ' + @DATABASE + ' TO DISK = ' + CHAR(39) + 
    		'C:\' + @DATABASE + '\' + @DATABASE + '_BACKUP_' + 
    		REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19), GETDATE(), 120), '-',''), ':',''),' ','_') +
    		'.BAK' + CHAR(39) +
    		' WITH NOFORMAT, NOINIT, SKIP, REWIND, NOUNLOAD'
    
    	--EXEC SP_EXECUTESQL @STATEMENT = @SQL
    	PRINT @SQL
    
        FETCH NEXT FROM C_SQL INTO @DATABASE
    
    END
    
    CLOSE C_SQL
    DEALLOCATE C_SQL
    
    Você pode criar o job e colocar este script na aba Steps.

    Abraços
    Demétrio Silva
    quarta-feira, 22 de julho de 2009 14:00
  • Pessoal


    Muito Obrigado eu consegui com a ajuda de vocês.




    Thanks.
    quarta-feira, 22 de julho de 2009 14:54
  • Olá Rafa,

    Se nossas respostas ajudaram, por favor, classifique.

    Abraços
    Demétrio Silva
    quarta-feira, 22 de julho de 2009 15:03