我已经自动化了一个测试案例,在该案例中,我在文件流SQL Server数据库(20 GB)上写入了一些初始数据并进行了完全备份。然后,在进行备份之前,我每次都会进行5%的数据流失,这是自动化过程中遵循的步骤。
每次备份文件都具有唯一名称时不同:
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;
我手动使用了相同的命令,它做对了。