自动定时备份问题

[复制链接]
查看11 | 回复9 | 2008-4-7 19:47:40 | 显示全部楼层 |阅读模式
我是一个绝对够菜的小鸟,请问在SQLserver2000中怎么实现每天自动以日期为文件名完全备份数据库?每天备份成独立的文件。最好还能自动压缩成压缩包。万分感谢!!!
回复

使用道具 举报

千问 | 2008-4-7 19:47:40 | 显示全部楼层
自动备份可以定义工作解决
回复

使用道具 举报

千问 | 2008-4-7 19:47:40 | 显示全部楼层
请详细说明一下,谢谢!我用维护向导备份后,它将所有备份都备到一个文件中了,我希望可以将每天的备份分开,每天一个文件。并以日期为文件名自动备份。请指教!!!thanks!
回复

使用道具 举报

千问 | 2008-4-7 19:47:40 | 显示全部楼层
可以自动压缩成压缩包吗?
回复

使用道具 举报

千问 | 2008-4-7 19:47:40 | 显示全部楼层
我在网上曾经搜过,有人说过可以,但我看不懂他写的那些语句,所以我也没试过,实在压不了也可以,关键我希望能以日期为文件名进行备份。这个我在网上也搜过,说是可以,但我不知道具体该怎么做?
回复

使用道具 举报

千问 | 2008-4-7 19:47:40 | 显示全部楼层
新建一个作业, 在作业里面写sql ,用动态sql拼凑backup database 命令,用时间函数获得当前时间作为文件名。然后调度作业。就能以日期为文件名进行备份
回复

使用道具 举报

千问 | 2008-4-7 19:47:40 | 显示全部楼层
企业管理器中的Tools,Database Maintenance Planner,可以设置数据库的定期自动备份计划。并通过启动Sql server Agent来自动运行备份计划。具体步骤如下:   1、打开企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器   2、然后点上面菜单中的工具-->选择数据库维护计划器   3、下一步选择要进行自动备份的数据-->下一步更新数据优化信息,这里一般不用做选择-->下一步检查数据完整性,也一般不选择   4、下一步指定数据库维护计划,默认的是1周备份一次,点击更改选择每天备份后点确定   5、下一步指定备份的磁盘目录,选择指定目录,如您可以在D盘新建一个目录如:d:\databak,然后在这里选择使用此目录,如果您的数据库比较多最好选择为每个数据库建立子目录,然后选择删除早于多少天前的备份,一般设定4-7天,这看您的具体备份要求,备份文件扩展名默认的是BAK   6、下一步指定事务日志备份计划,看您的需要做选择-->下一步要生成的报表,一
回复

使用道具 举报

千问 | 2008-4-7 19:47:40 | 显示全部楼层
1:在SQL SERVER上建立一个Job,这样可以让它自动定时运行;

2:建立一个步骤,用如下代码:
declare @path nvarchar(100)
declare @name nvarchar(100)
declare @devicename nvarchar(50)
--'F:\backup\DBback',这个可自由更换,备份名称用日期来作为不同的名称
set @path= 'F:\backup\DBback'+ convert(nvarchar(50),getdate(),112) +'.dat'
--25,28这样的数字,随前面的路径而改变
select @name = substring(@path,25,len(@path)-28)
select @devicename = @name
EXEC sp_addumpdevice 'disk', @devicename,@path
--DBName 是你要备份的数据库
BACKUP DATABASEDBNameTO@devicename
go

3:然后再建立一个调度
回复

使用道具 举报

千问 | 2008-4-7 19:47:40 | 显示全部楼层
我在新建作业中输入以下内容,但提示错误。
============================================
declare @path nvarchar(100)
declare @name nvarchar(100)
declare @devicename nvarchar(50)
set @path= 'E:\erpbak\DBback'+ convert(nvarchar(50),getdate(),112) +'.dat'
select @name = substring(@path,25,len(@path)-28)
select @devicename = @name
EXEC sp_addumpdevice 'disk', @devicename,@path
BACKUP DATABASE jcerp TO @devicename
go
==============================================
提示:
执行用户: ERPSERVER\jcsql1。名称不能是 NULL。 [SQLSTATE 42000](错误 15004)在 sysdevices 中没有备份设备 '' 的条目。请更新 sysdevices 后重新运行语句。 [SQLSTATE 42000](错误 3206)BACKUP DATABASE 操作异常终止。 [SQLSTATE 42000](错误 3013).步骤失败。
请问是哪里错了???还有25和28是什么啊?怎么得来的。
我对SQL一窍不通,请指教!!!
回复

使用道具 举报

千问 | 2008-4-7 19:47:40 | 显示全部楼层
自己顶一下。请高手指教。万分感谢!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行