Friday, December 2, 2011

Backup all databases in a Server except system DBs in Sql Server

Backup all databases in a Server except system DBs in Sql Server


Please compile this SP on Sql Server and whenever you want to take the backup of all existing databases, plz Execute this SP once.  It will automatically take backup and it will place in specified location.  

CREATE PROCEDURE [dbo].[DataBase_BackUp_SP](@OutputPath NVARCHAR(4000)='\\Server1\Shared Docs\Others\')   
AS   
BEGIN   
 SET NOCOUNT ON   
    
 DECLARE @BackFileName NVARCHAR(4000)    
 DECLARE @BackPath  NVARCHAR(4000)    
 DECLARE @BackFullPath NVARCHAR(4000)    
 DECLARE @DBName   NVARCHAR(4000)    
 DECLARE @ServerName  NVARCHAR(4000)    
   
   
 -- GETTING SERVER NAME   
 SELECT @ServerName = Name    
 FROM SYS.SERVERS    
 WHERE Server_id = 0    
   
    
 DECLARE DB_Cur CURSOR FOR SELECT NAME FROM SYS.DATABASES WHERE Database_Id>4   
 OPEN DB_Cur   
 FETCH NEXT FROM DB_Cur INTO @DBName   
 WHILE @@FETCH_STATUS=0   
 BEGIN   
     
  SELECT @BackPath=@OutputPath   
  SELECT @BackFileName='Backup_'+ @DBName +'_'+  @ServerName +'_' + CONVERT(NVARCHAR(10),GetDate(),105) + '.bak'   
  SELECT @BackFullPath =@BackPath +  @BackFileName   
     
  BACKUP DATABASE @DBName   
  TO DISK=@BackFullPath   
  WITH INIT   
     
  FETCH NEXT FROM DB_Cur INTO @DBName   
 END   
    
 CLOSE  DB_Cur   
 DEALLOCATE DB_Cur   
    
 SET NOCOUNT OFF   
END

No comments:

Post a Comment