SQL快速备份

ALTER  PROCEDURE [dbo].[usp_Backup_DataBase]
    (
      @BackupDataBaseName VARCHAR(128)
    )
AS
    BEGIN   
        DECLARE @BKFULLPATH NVARCHAR(1000);  
 --get SQL server Default Backup path  
        DECLARE @strPath NVARCHAR(200);  
        SET @strPath = CONVERT(VARCHAR(20), GETDATE(), 120);  
        SET @strPath = '_' + REPLACE(@strPath, ':', '-');  
        SELECT  @BKFULLPATH = 'E:\DBBAK\' + @BackupDataBaseName + '\'
                + @BackupDataBaseName + @strPath + '.bak';   
        BACKUP DATABASE @BackupDataBaseName TO DISK = @BKFULLPATH WITH INIT;  
 --DECLARE @MapString NVARCHAR(1000)  
 
 --/*--说明:   
 --L: 是映射网络路径对应本机的盘符,与下面的备份对应   
 --\\192.168.0.37\E$    是要映射的网络路径   
 --192.168.0.37\administrator      
 --192.168.0.37是远程的计算机名,administrator是登陆的用户名   
 --password:上面指定的administrator用户的密码 \\WIN-4X5XFSF28OQ\DataBackUP  
 ----*/   
 
 --SET @MapString = 'NET USE L: "\\10.10.62.101\Databackup" "04D84&80eDD1E*00DE6b" "/USER:dbbacker"'  
 --EXECUTE master..xp_cmdshell @MapString  
 
 ------把备份文件拷贝至映射路径中  
 --DECLARE @CopyString NVARCHAR(1000) = 'COPY "' + @BKFULLPATH + '" L:'  
 --EXECUTE master..xp_cmdshell @CopyString  
 
 ----删除备份文件  
 ----DECLARE @OrgBkFileString NVARCHAR(1000) = 'DEL "' + @BKFULLPATH + '"'  
 ----EXECUTE master..xp_cmdshell @OrgBkFileString  
 
 ----删除映射路径  
 --EXECUTE master..xp_cmdshell 'NET USE L: /DELETE'  
 
 
 --IF @@ERROR <> 0  
 --BEGIN  
 -- RAISERROR(N'数据库备份失败!',16,1)  
 -- RETURN  
 --END  
 
 END;

posted @ 2017-12-19 22:37  Crazier  阅读(250)  评论(0编辑  收藏  举报