Daily Database Backup Scripts
Execute these stored procedures to backup all your database daily and your transaction logs several time daily. Save space by using the overwrite feature.
2015-12-17
5,121 reads
---Objetivo:Backup all databases for an instance (complete, Differential or log of transactions) ---Fecha: 25/03/2014 ---Autor: Andrés Noé Michaca Trujillo -- El nombre del archivo tendrá este Formato databse_day_month_year_hours_minutes_seconds.BAK SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[sp_BackupDatabaseFullDiferenciallLog] @backupType CHAR(1) AS BEGIN DECLARE @name VARCHAR(50) -- Nombre de la Base de Datos DECLARE @path VARCHAR(256) -- Ruta para las copias de seguridad DECLARE @fileName VARCHAR(256) -- Nombre del Fichero DECLARE @fileDate VARCHAR(20) -- Usado para el nombre del fichero DECLARE @sql NVARCHAR(1000) -- Comando SQL declare @MODE VARCHAR(30) -- mode de recueracion de la base de datos -- Ruta para las copias de seguridad SET @path = 'C:\RESPALDOS_PRUEBA\' -- Generar nombre del archivo de respaldo set @fileDate = REPLACE(REPLACE(CONVERT(VARCHAR(20),GETDATE(),113),' ','_'),':','_') DECLARE db_cursor CURSOR FOR SELECT name,recovery_model_desc FROM sys.databases WHERE name NOT IN ('master','model','msdb','tempdb','ReportServerTempDB','ReportServer') -- excluir estas bases datos OPEN db_cursor FETCH NEXT FROM db_cursor INTO @name,@MODE WHILE @@FETCH_STATUS = 0 BEGIN If @backupType='F' SET @sql ='BACKUP DATABASE ' + '['+LTRIM(RTRIM(@name)) +'] TO DISK = N'''+ @path + @name +'_'+ @fileDate+'.BAK''' + 'WITH NOFORMAT,NOINIT, CHECKSUM, SKIP, COMPRESSION' if @backupType='D' SET @sql ='BACKUP DATABASE ' + '['+LTRIM(RTRIM(@name)) +'] TO DISK = N'''+ @path + @name +'_'+ @fileDate+'.BAK''' + 'WITH DIFFERENTIAL, CHECKSUM, SKIP, COMPRESSION' if @backupType='L' AND @MODE='FULL' SET @sql ='BACKUP LOG ' + '['+LTRIM(RTRIM(@name)) +'] TO DISK = N'''+ @path + @name + '_LOG_'+@fileDate+'.TRN''' + 'WITH COMPRESSION' EXECUTE sp_executesql @sql FETCH NEXT FROM db_cursor INTO @name,@MODE END end CLOSE db_cursor DEALLOCATE db_cursor --TO EXECUTE exec sp_BackupDatabaseFullDiferencialLog 'F'