首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Server 2005在磁盘上备份前5天吗?

Server 2005在磁盘上备份前5天吗?
EN

Server Fault用户
提问于 2010-10-19 20:15:23
回答 3查看 1K关注 0票数 2

我的目标很简单。我希望SQL Server在滚动的5天内保持DB的夜间备份。

因此,每天晚上,在某个时候,我想要一个新的DB备份,并删除一个这样,我有一个滚动5天的磁盘。

我正在尝试建立一个维护计划来处理这个工作,并完成文件的保存(我认为)。我已经追加了备份,因此单个bak文件将包含滚动5天(不确定这将工作0,因为SQL如何知道要删除什么,删除单个bak文件将删除所有备份)。

如您所知,为什么在解决如何删除DB的旧备份时遇到问题,以便Y仅在磁盘上有最近的5次备份。

在这个问题上有什么建议吗?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2010-10-20 08:14:29

建议的维修计划是一个很好的方法。另一种选择是使用调用存储过程的计划作业;

代码语言:javascript
运行
复制
CREATE PROCEDURE backup_all_databases
@path VARCHAR(255)='c:\backups\'
AS
DECLARE @name VARCHAR(50) -- database name
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name
DECLARE @dbIsReadOnly sql_variant -- is database read_only?
DECLARE @dbIsOffline sql_variant -- is database offline?

DECLARE db_cursor CURSOR FOR

SELECT name FROM master.dbo.sysdatabases WHERE name NOT IN ('tempdb') AND version > 0 AND version IS NOT NULL
OPEN db_cursor

FETCH NEXT FROM db_cursor INTO @name

WHILE @@FETCH_STATUS = 0 
BEGIN
SET @fileName = @path + @name + '.bak'  -- + '_' + @fileDate + '.BAK'
SET @dbIsReadOnly = (SELECT DATABASEPROPERTY(@name, 'IsReadOnly')) -- 1 = Read Only
SET @dbIsOffline = (SELECT DATABASEPROPERTY(@name, 'IsOffline')) -- 1 = Offline
IF (@dbIsReadOnly = 0 OR @dbIsReadOnly IS NULL) AND @dbIsOffline =0
BEGIN
BACKUP DATABASE @name TO DISK = @fileName  WITH INIT
END
FETCH NEXT FROM db_cursor INTO @name 
END
CLOSE db_cursor
DEALLOCATE db_cursor
GO

调整它以将时间戳附加到备份文件名。并添加所需的任何过期日期或保留日参数。正如BOBS所建议的,您还可以使用维护清理任务清除比5天更旧的备份文件。这为您提供了每天单独的备份。您可以在一天中每小时或x次运行它,或者每天运行一次,无论您需要什么。

票数 0
EN

Server Fault用户

发布于 2010-10-19 21:35:05

如果您正在使用维护计划,有一个“维护清理任务”,您可以添加到您的计划,用于清理BAK文件在这么多天后。只需将此任务放在“备份数据库任务”之后,并将其配置为删除比5天更早的备份文件,您应该可以继续执行。

哈,丹

票数 3
EN

Server Fault用户

发布于 2010-10-19 20:27:02

在TSQL备份命令中,有两个可以设置的备份集选项。有EXPIREDATE表示备份过期的日期,RETAINDAYS表示保留备份的天数。您将使用RETAINDAYS选项并将其设置为5天。备份过程将完成其余的工作。

在维护计划设置中,在定义数据库备份任务时应看到类似的选项。您可以指示保留备份的时间。

维护计划中没有指示要保存的备份数量的选项。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/192671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档