我使用此查询备份我的数据库:
USE DBName
GO
DECLARE @FileName VARCHAR(MAX)
SET @FileName = 'C:\Backup\SQLDB\DBName_'+ REPLACE(CONVERT(varchar(10),getdate(),103),'/','') + '_' + REPLACE(CONVERT(varchar(10),getdate(),108),':','') + '.Bak'
BACKUP DATABASE DBName
TO DISK = @FileName
WITH FORMAT,
NAME = 'Full Backup of DBName'
GO
我使用批处理文件执行此查询,批处理文件按计划任务运行。
批处理文件参数:
sqlcmd -d DBName -S .\SQLEXPRESS -I -U DBUserName -P DBUserPwd
-i SQL_FileName_with_Extension -o log.txt
它在每日基础上成功备份我的数据库,我得到了DBName_01082014_131210.bak
名称的备份文件。但它的尺寸太高(大约7GB)。是否有任何sql查询使用上面的查询执行,并且可以同时备份和压缩我的数据库?
答案 0 :(得分:0)
您可以构建.bat文件。将数据库名称存储在变量中,使用sqlcmd备份数据库,备份完成后,使用变量中的db文件名对其进行压缩。
答案 1 :(得分:0)
谢谢大家的帮助。我使用了一个名为“SQLBackupMaster”的第三方实用工具'备份,压缩和安排数据库备份。它的免费版本也符合我的要求。现在我能够每天和每周备份和压缩数据库文件。它在SQL Server 2005 Express Edition中正常工作(备份和压缩DB文件)。谢谢大家提出你的好意见。