天天看點

sql2005資料庫備份,完整,差異備份

差異備份和完全備份,把備份檔案同時拷貝到異地伺服器,實作異地備份: 一、差異備份,把下面語句直接放在任務裡面定時執行,實作差異備份。     DECLARE @ss VARCHAR(200),

          @des_hisdb varchar(200),

          @des_ehr varchar(200)  

 SET @ss = replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')

SET @des_hisdb= 'S:/databaseBack/hisdb_diff_backup_'[email protected] +'.bak'

--差異備份hisdb

BACKUP DATABASE [hisdb] TO  DISK = @des_hisdb

WITH  DIFFERENTIAL ,RETAINDAYS = 7,NOFORMAT, NOINIT,   

NAME = 'hisdb-差異 資料庫 備份', SKIP, NOREWIND,  

NOUNLOAD,  STATS = 10

SET @des_ehr= 'S:/databaseBack/ehr_diff_backup_'[email protected] +'.bak'

--差異備份ehr

BACKUP DATABASE [ehr] TO  DISK = @des_ehr

WITH  DIFFERENTIAL ,RETAINDAYS = 7,NOFORMAT, NOINIT,   

NAME = 'ehr-差異 資料庫 備份', SKIP, NOREWIND, NOUNLOAD,   

STATS = 10 --***********  開始異地備份

---顯示進階選項(僅需執行一次)

EXEC sp_configure 'show advanced options', 1  

RECONFIGURE ---允許執行xp_cmdshell  

EXEC sp_configure 'xp_cmdshell', 1  

RECONFIGURE declare  

  @cmd_sql varchar(200)

--定義網絡映射驅動器

exec master..xp_cmdshell 'net use z:   //192.168.0.18/hisdb_mz  "密碼" /user:administrator'    --copy備份檔案到網絡驅動器,實作異地存儲備份

set @cmd_sql = 'copy   '[email protected]_hisdb+'  z:'

EXEC [master]..xp_cmdshell @cmd_sql set @cmd_sql = 'copy   '[email protected]_ehr+'  z:'

EXEC [master]..xp_cmdshell @cmd_sql --删除網絡映射  

exec master..xp_cmdshell 'net use z: /delete'     二、完整備份     具體方法隻需對上面sql語句稍作修改     1.把BACKUP語句 裡面的DIFFERENTIAL 删除。     2.修改檔案儲存名字。     3.把所有文字“差異”跟換為“完整”