sqlserver full backup, differential backup, log backup and recovery scripts

For manual backup, please refer to: http://wenku.baidu.com/view/d57f283f453610661ed9f46a.html?from=search

 

Prepare:

1. Full backup of the database

BACKUP DATABASE CollectionDB TO DISK = 'E:\20150609_75\bak\Test_bak_full.bak' WITH INIT

 

2. Differential backup database

BACKUP DATABASE CollectionDB TO DISK = 'E:\20150609_75\bak\Test_bak_diff.bak' WITH INIT, DIFFERENTIAL -- plus DIFFERENTIAL represents differential backup

 

3. Backup log files

BACKUP LOG CollectionDB TO DISK='c:\db_log.bak' WITH INIT

 

3. Backup transaction log, the file name contains the current time, suitable for regular backup

DECLARE @strbackup NVARCHAR(100)

 --change to date plus time

 SET @strbackup = 'E: \ 20150609_75 \ bak \ Test_bak_log_'

     + REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(), 120), '-', ''), ' ', ''), ':', '') + '.bak'

 BACKUP LOG Test_Bak TO DISK = @strbackup WITH INIT;

 GO

 

 

1. Restore full + differential backup

1. Back up the full backup file

USE master; 

RESTORE DATABASE CollectionDB 

FROM DISK='D:\Data\MSSQLSERVER\MSSQL10.MSSQLSERVER\MSSQL\Backup\CollectionDB_backup_2016_07_31_040002_0771951.bak' 

WITH STATS = 10, REPLACE,NORECOVERY

GO

 

2. Backup differential backup files

USE master; 

RESTORE DATABASE CollectionDB 

FROM DISK='D:\Data\MSSQLSERVER\MSSQL10.MSSQLSERVER\MSSQL\Backup\CollectionDB_backup_2016_08_04_040001_5320399.bak' 

WITH STATS = 10, RECOVERY

GO

 

2. Restore full backup + differential backup + log files

1. Restore the full backup file

USE master; 

RESTORE DATABASE CollectionDB 

FROM DISK='D:\Data\MSSQLSERVER\MSSQL10.MSSQLSERVER\MSSQL\Backup\CollectionDB_backup_2016_07_31_040002_0771951.bak' 

WITH STATS = 10, REPLACE,NORECOVERY

GO

 

2. Restore differential backup files

(In the case of only one differential backup, when restoring multiple differential backups, usually use WITH NORECOVERY for the previous ones, and WITH RECOVERY can only be used for restoring the last differential backup)

USE master; 

RESTORE DATABASE CollectionDB 

FROM DISK='D:\Data\MSSQLSERVER\MSSQL10.MSSQLSERVER\MSSQL\Backup\CollectionDB_backup_2016_08_04_040001_5320399.bak' 

WITH STATS = 10, NORECOVERY

GO

 

3. Restore log backup

RESTORE LOG CollectionDB 

FROM DISK = N'C:\db_log.bak' 

WITH STATS = 10, RECOVERY ,STOPAT='2016-08-04 14:30:00'

GO

 

3. Restore full backup + log files

1. Restore the full backup file

USE master; 

RESTORE DATABASE CollectionDB 

FROM DISK='D:\Data\MSSQLSERVER\MSSQL10.MSSQLSERVER\MSSQL\Backup\CollectionDB_backup_2016_07_31_040002_0771951.bak' 

WITH STATS = 10, REPLACE,NORECOVERY

GO

 

2. Restore log backup

RESTORE LOG CollectionDB 

FROM DISK = N'C:\db_log.bak' 

WITH STATS = 10, RECOVERY ,STOPAT='2016-08-04 14:30:00'

GO

 

 

Parameter Description:

WITH MOVE TO: Re-specify the path of the file, the number of WITH MOVE TO depends on the number of database files

STATS = 10: Display a record not completed 10%

REPLACE: Overwrite existing database

NORECOVERY: do nothing to the database, do not roll back uncommitted transactions

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326686054&siteId=291194637