2012-05-21 25 views
12

He intentado escribir un script de copia de seguridad para una de mis muy pequeñas bases de datos sql server express 2008. Mis requisitos son hacer una copia de seguridad completa cada noche, mantener las últimas cinco copias de seguridad. Este es mi intento de escribir uno y me gustaría recibir comentarios sobre si lo estoy haciendo bien o no. Gracias por su ayuda.secuencia de comandos de copia de seguridad del servidor sql

declare @backupfilename nvarchar(100) 
    set @backupfilename='c:\...location..\filename_'+convert(varchar(10),getdate(),112) + '.bak' 

    BACKUP DATABASE [dbname] TO DISK = @backupfilename 
    WITH RETAINDAYS = 5, NOFORMAT, NOINIT, NAME = N'Full Database Backup Name', NOSKIP, 
    NOREWIND, NOUNLOAD, STATS = 10 
    GO 
    declare @backupSetId as int 
    select @backupSetId = position from msdb..backupset where database_name=N'dbname' 
    and backup_set_id=(select max (backup_set_id) from msdb..backupset where 
    database_name=N'dbname') 
    if @backupSetId is null begin raiserror(N'Verify failed. Backup information for database 
    ''dbname'' not found.', 16, 1) end 
    RESTORE VERIFYONLY FROM DISK [email protected] WITH FILE = @backupSetId, NOUNLOAD, NOREWIND 
    GO 

Respuesta

19

Recomiendo encarecidamente Ola's backup stored procedures. Están bien respaldados y son extremadamente sólidos. Si no te sientes cómodo usándolos, al menos puedes mirarlos mientras escribes tu propia rutina.

+0

Este es un enlace muy apreciado y considerado un estándar de la industria por muchos ... más uno. – RThomas

+0

Gracias por señalar a este sitio ... esto tiene mucha información y creo que debería poder personalizar el archivo databasebackup.sql según mis requisitos ... – cableload

Cuestiones relacionadas