在SQL下建立的数据库,里面包含了几个数据表,表名: A1,B1,C1
现在想每天中午12:00定时自动备份出这些表到指定的文件夹:D:\SQLDATA\请问我应该怎么做?
1:在哪里设置?
2:怎么写命令?
3:怎么做SCHEDULE?希望知道方法的朋友帮忙解答一下,我对于SQL的使用实在是不熟,谢谢了。
现在想每天中午12:00定时自动备份出这些表到指定的文件夹:D:\SQLDATA\请问我应该怎么做?
1:在哪里设置?
2:怎么写命令?
3:怎么做SCHEDULE?希望知道方法的朋友帮忙解答一下,我对于SQL的使用实在是不熟,谢谢了。
解决方案 »
- 求高手指点:为啥用MWAS测了asp+sqlserver跑的不如asp+access?
- 求一条存储过程
- 关于TEXT,IMAGE字段的处理
- 在哪里可以找到数据库习题集的电子资源?
- 在安装的时候出现两次\"command line option syntax error.type command /? for help\" 错误
- 看不懂错误信息,请大哥帮忙
- 求一条复杂的SQL语句(请教高手)
- 求助sql的查询结果拆开的问题
- 大哥们帮我看看为什么这条存储过程找出来的数据有重复的 ,谢谢你们我的分不多了
- 怎么从数据库中查询字段包含条件的方法?
- 请教 sql 查询的问题 希望用视图来写出
- 一般的基于SQL2000的 新闻系统(支持静态生成) 后台是如何实现数据备份功能? 除了备份数据库表,还要备份文件目录下的图片、Flash、吗
CREATE PROCEDURE sp_auto_backup--可加指定备份文件名 @vname
--指定备份路径 @vpath
AS
declare @vName varchar(255), --备份文件名称(完整路径)
@vFile varchar(255), --备份文件名称,防止重复
@vcmd varchar(255), --外部命令
@result int --查找结果
--注意备份命令不支持事务处理
--备份分三步完成
--创建备份目录
--在目录中创建备份设备
--备份数据库-- 1 -- 建目录 exec @result = master..xp_cmdshell 'dir y:\hisdata_bak' --if (@result = 0)
--print '目录已经存在,直接备份!'
--else
exec master..xp_cmdshell 'md y:\hisdata_bak' -- 2 -- 建设备
select @vname ='y:\hisdata_bak\'+convert(varchar(8), getdate(), 112)
select @vfile = convert(varchar(8), getdate(), 112)
select @vcmd = 'dir ' + @vname
exec @result = master..xp_cmdshell @vcmd --if (@result = 0) --可用del 命令删除
--print '备份设备已经存在,直接备份!'
--else
exec master..sp_addumpdevice 'disk', @vfile,@vname-- 3 -- 备份
BACKUP DATABASE wagenHisv4 TO @vfileGO
然後再在sql代理裡面新建一個作業。調用這個存儲過程就行了
我在数据库右键菜单的“所有任务”里面看到有备份到文件,也可以选SCHEDULE,但是我设完之后再打开,这个任务就不见了。可以帮我解答一下有什么要注意的么》?
当然CREATE PROCEDURE sp_auto_backup--可加指定备份文件名 @vname
--指定备份路径 @vpath
AS
declare @vName varchar(255), --备份文件名称(完整路径)
@vFile varchar(255), --备份文件名称,防止重复
@vcmd varchar(255), --外部命令
@result int --查找结果
--注意备份命令不支持事务处理
--备份分三步完成
--创建备份目录
--在目录中创建备份设备
--备份数据库-- 1 -- 建目录 exec @result = master..xp_cmdshell 'dir y:\hisdata_bak' --if (@result = 0)
--print '目录已经存在,直接备份!'
--else
exec master..xp_cmdshell 'md y:\hisdata_bak' -- 2 -- 建设备
select @vname ='y:\hisdata_bak\'+convert(varchar(8), getdate(), 112)
select @vfile = convert(varchar(8), getdate(), 112)
select @vcmd = 'dir ' + @vname
exec @result = master..xp_cmdshell @vcmd --if (@result = 0) --可用del 命令删除
--print '备份设备已经存在,直接备份!'
--else
exec master..sp_addumpdevice 'disk', @vfile,@vname-- 3 -- 备份
BACKUP DATABASE wagenHisv4 TO @vfileGO
搞得这么烦
你的不煩。干嗎復制我的代碼。你說的那個所有任務不是自動備份的。那只是一次性備份。就是人操作一次就備份一次。你還是多看點書比較好
好象在VB版里见过你哦
AS
BEGIN
DECLARE @Str VARCHAR(255)
SET @Str = 'E:\D:\SQLDATA\' + 'databasename' + CONVERT(VARCHAR(2), DATEPART(WEEKDAY, GETDATE())) + '.BAK'
BACKUP DATABASE databasename TO DISK = @Str WITH INIT
EXECUTE databasename..SP_UPDATESTATS
END
GO
然后用作业来实现
到时见分晓。谢谢大家了。