我正在使用这个脚本为我的数据库创建一个差异备份:
BACKUP LOG myDatabase TO DISK = 'myDatabaseBackup.dif'
但令我惊讶的是,即使我在数据库中插入更多信息或创建新表,生成的文件也不会改变大小。如果我将更多的数据添加到我的数据库中,我希望这个大小会改变,因为完整的备份大小会发生变化。
完全备份脚本:
BACKUP LOG myDatabase TO DISK = 'myDatabaseBackup.bak'
我手动运行上述脚本(每小时一次),因为我使用的是Server,显然它没有维护计划功能。
我有一个SQL Server 2008数据库,其数据文件大小约为2GB,但日志文件超过8GB。对于2008年前的数据库,我可以使用“备份日志”和TRUNCATE_ONLY选项,但这在2008年及以后的数据库中不再可用。
我确实有一个脚本来截断日志文件:
USE [MyDatabase]
GO
ALTER DATABASE [MyDatabase] SET RECOVERY SIMPLE WITH NO_WAIT
DBCC shrinkfile('MyDatabase_log', 1)
ALTER DATABASE [MyDatabase] SET RECOVERY FULL W
我正在使用DB备份,首先我想得到一个关于每周/每天备份的大致计划。当我试图得到这样一个计划的时候,我已经解决了一些问题,我尝试的是:
对于每周FULL DATABASE BACKUP,使用:BACKUP DATABASE name To Disk... WITH INIT,SKIP;
我可以将其设置为SKIP并每周覆盖旧的完整备份文件吗?如果我没有添加EXPIREDATE或RETAINDAYS,这是否意味着当前的备份不会覆盖现有的备份,因为旧的备份永远不会过期?对于日常Differential DATABASE BACKUP,使用BACKUP DATABASE name To Disk...
我知道这看起来像是的复制品,但它并不是完全的。我想要将一个生产数据库(正在使用且关键的)复制到同一台服务器上的另一个数据库,以便进行一些测试。做这件事最简单安全的方法是什么?
以下是我的建议(主要是在上找到):
BACKUP DATABASE srcDB TO DISK = 'D:\SQL\Data\srcDBtest.bak' WITH COPY_ONLY
RESTORE DATABASE testDB FROM DISK = 'D:\SQL\Data\srcDBtest.bak'
WITH MOVE 'srcDB' TO 'D:\