SQL Server差异备份通过自动化充当完整备份

时间:2018-10-10 21:39:08

标签: sql-server windows

我已经自动化了一个测试案例,在该案例中,我在文件流SQL Server数据库(20 GB)上写入了一些初始数据并进行了完全备份。然后,在进行备份之前,我每次都会进行5%的数据流失,这是自动化过程中遵循的步骤。

  1. 写入20GB-进行完整备份
  2. 数据流失5%-进行日志备份(1GB)
  3. 数据流失5%-进行日志备份(1.05 GB) 4 5%的数据流失-进行差异备份(1.1025 GB)

每次备份文件都具有唯一名称时不同:

backup1.bak (20GB)
logbackup1.trn (1 GB)
logbackup2.trn (1.05GB)
cumubackup1.bak (Expecting file size close 3.1525 approx while it shows up as 13.1524 GB which is kind off a full backup.)

我手动进行了实验,结果符合预期。但是在自动化中,它总是显示错误的文件大小。

我做过一个实验,每次数据流失后我都要入睡,然后有时它会给我差异备份文件的写入文件大小。但这不能保证行为。我需要轮询它们是什么,以检查是否准备好进行差异备份。

完整备份:

BACKUP DATABASE ***MyDB*** 
TO  DISK = N'F:\backup\backup_set-1_FULL.bak' 
WITH NOFORMAT, NOINIT,  
     NAME = N'backup_set-1', 
     SKIP, NOREWIND, NOUNLOAD,  STATS = 10;

日志备份:

BACKUP LOG ***MyDB*** 
TO DISK = N'F:\channel1\backup_set-2_LOG.trn' 
WITH NOFORMAT, NOINIT,  
     NAME = N'backup_set-2', 
     SKIP, NOREWIND, NOUNLOAD,  STATS = 10

BACKUP LOG ***MyDB*** 
TO DISK = N'F:\channel1\backup_set-3_LOG.trn' 
WITH NOFORMAT, NOINIT,  
     NAME = N'backup_set-3', 
     SKIP, NOREWIND, NOUNLOAD,  STATS = 10

差异备份:

BACKUP DATABASE ***MyDB*** 
TO DISK = N'F:\channel1\backup_set-4_CUMULATIVE_INCREMENTAL.bak' 
WITH DIFFERENTIAL, NOFORMAT, NOINIT,  
     NAME = N'backup_set-4', 
     SKIP, NOREWIND, NOUNLOAD,  STATS = 10;

我手动使用了相同的命令,它做对了。

0 个答案:

没有答案