Create a Backup and Restore the database using Stored Procedure in MS SQL

CREATE PROCEDURE Dbo.Sp_BackUpRestore
(   
 @Process VARCHAR(10), -- specify the process name (example - restore or backup)
   @DatabaseName VARCHAR(50), -- specify database name 
@Path VARCHAR(MAX) -- specify full path
   
  )
   
  AS 
   
  BEGIN
    DECLARE @DQuery varchar(MAX)
    
    DECLARE @ErrorMessage NVARCHAR(MAX)
    
    IF @Process<>'' AND @DatabaseName<>'' AND @Path<>''
     
    BEGIN
     
    IF @Process=LOWER('backup')
    
    BEGIN
   BEGIN TRY
   
   IF EXISTS(SELECT [Name] FROM sys.databases WHERE [Name]=@DatabaseName )
    
   BEGIN
    
    SET @DQuery='BACKUP DATABASE '+@DatabaseName+' TO DISK =N'''+@Path+'\'+@DatabaseName+'.bak''' PRINT(@DQuery)
    
    EXECUTE(@DQuery)
    
    END
     
    ELSE
     
    BEGIN
     
    PRINT('Database Dose not Exists in Sql Server')
     
    END 
     
    END TRY
     
    BEGIN CATCH
    
   SET @ErrorMessage=ERROR_MESSAGE()
     
    RAISERROR(@ErrorMessage,16,1)
    
   END CATCH 
     
    END
    
   IF @Process=LOWER('restore')
     
   BEGIN
    
    BEGIN TRY
    IF NOT EXISTS(SELECT [Name] FROM Sys.Databases WHERE [Name]=@DatabaseName)
    
    BEGIN
    
   SET @DQuery='RESTORE DATABASE '+@DatabaseName+' FROM DISK =N'''+@Path+'\'+@DatabaseName+'.bak'''
     
   PRINT(@DQuery)
    
   EXECUTE(@DQuery)
    
    END
     
    ELSE
    
    BEGIN
     
    PRINT('Database Exists in Sql Server')
    
   PRINT('It can not Override')
     
    END 
   
    END TRY
    
    BEGIN CATCH
    
   SET @ErrorMessage=ERROR_MESSAGE()
     
   RAISERROR(@ErrorMessage,16,1)
     
    END CATCH
   END
     
   END 
    
   ELSE
   
   BEGIN
    
  PRINT('Please Enter The Parameter')
    
  END
  
  END
    
  GO 

Calling Stored Procedure

    -- For Backup the Database
    EXEC Sp_BackUpRestore 'backup','HSM','C:\Database'
    
    -- For Restore the Database
    EXEC Sp_BackUpRestore 'restore','HSM','C:\Database' 

Comments

Popular posts from this blog

GROUP BY, CUBE, ROLLUP and SQL SERVER 2005

How to get content of Ckeditor & Fckeditor using Javascript

How to Fix Error- Sys.WebForms.PageRequestManagerTimeoutException - The server request timed out