我在本地环境中使用SQL Server 2012。事实上,它正在我的Windows7机器上运行。我的问题如下:我收到SQL数据库的每日备份。现在,我只是每天通过删除现有的数据库来恢复整个数据库。此恢复任务需要相当长的时间才能完成。我对恢复过程的理解是,它会用新的备份覆盖以前的数据库。SQL Server 2012是否可以使用新备份中发生的任何更改来修改现有数据库?我的意思是,将以前的数据库与更新后的数据库进行比较,并在需要的地方进行必要的更改。
我正在使用这个脚本为我的数据库创建一个差异备份:
BACKUP LOG myDatabase TO DISK = 'myDatabaseBackup.dif'
但令我惊讶的是,即使我在数据库中插入更多信息或创建新表,生成的文件也不会改变大小。如果我将更多的数据添加到我的数据库中,我希望这个大小会改变,因为完整的备份大小会发生变化。
完全备份脚本:
BACKUP LOG myDatabase TO DISK = 'myDatabaseBackup.bak'
我手动运行上述脚本(每小时一次),因为我使用的是Server,显然它没有维护计划功能。
我有一个数据库( Server 2014),它被设置为执行定期的、完整的和更频繁的差异备份;如果迁移失败,我需要迁移该数据库并还原它。为了防止任何数据丢失,我将在尝试迁移数据库之前备份它。
我知道我不应该做一个完整的备份,因为它会影响后续的差异。如果我只做一个备份就会被阻止。但是,如果我只使用副本备份进行还原,那么随后的差异会起作用并恢复吗?我对一个较小的数据库做了一个实验,我注意到,在恢复副本时,只有备份更改了DatabaseBackupLSN,但我仍然能够执行差异,并且还能够使用它们来恢复数据库(将差异与预先采取的完整备份相结合)。然而,我还没有发现任何证实这在所有情况下都有效的证据。
提