收录日期:2020/05/27 17:38:00 时间:2016/06/12 02:12:07 标签:基础类
在SQL下建立的数据库,里面包含了几个数据表,表名: A1,B1,C1
现在想每天中午12:00定时自动备份出这些表到指定的文件夹:D:\SQLDATA\

请问我应该怎么做?
1:在哪里设置?
2:怎么写命令?
3:怎么做SCHEDULE?

希望知道方法的朋友帮忙解答一下,我对于SQL的使用实在是不熟,谢谢了。
首先創建一個備份的存儲過程。可以仿照這個
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 @vfile

GO
然後再在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 @vfile

GO
qys2000(银升) ( ) 信誉:100  2007-07-31 11:23:38  得分: 0  
 
 
   搞得这么烦
  
 
你的不煩。干嗎復制我的代碼。

你說的那個所有任務不是自動備份的。那只是一次性備份。就是人操作一次就備份一次。你還是多看點書比較好
看看聯機幫助吧,我就不複製過來了
其实也不必那么麻烦
做一个维护计划就可以了啊!
企业管理器---管理---数据维护计划
你一步一步配置好就行了!
TO:LZ
好象在VB版里见过你哦
作业就行了!
CREATE PROCEDURE BACKUP_PROCEDURE
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
然后用作业来实现
恩,我一直在VB版的,最近做了个数据库应用,程序全部搞定了,数据库备份却晕了,平时不大玩这个东西,所以跑来请教了。

谢谢楼上的几位朋友,我用的是SQL2000,我在数据库的右键菜单“所有任务”中建立了一个每天备份的任务,但是过后再次打开这个任务却发现任务的"SCHEDULE"选项被取消了,但是我建立的时候明明是点上的,反复几次都会自动取消,不知道是否SQL2000的一个BUG.

因为备份的时间是在半夜,所以明天才能知道是否真的生效。
到时见分晓。谢谢大家了。
放到维护计划里
企业管理器---管理---数据维护计划
哈哈,果然生效了,忽然多出来4个一样大小的备份文件,这些可麻烦了,我怎么才能把以前做的那些备份SCHEDULE去掉啊?或者说,我在哪里才能看到我当前对一个数据库做了那些备份工作啊?
在job里找下,在backup文件夹中找一下

有哪位朋友有“忍”字或“无”字为背景的优美图片,能否推荐给小弟做桌面! vc数据库编程 怎样设置和delphi一样的工具栏? 自己写的小程序,大家看看(源代码) 有哪位朋友有“忍”字或“无”字为背景的优美图片,能否推荐给小弟做桌面! 为什么我看贴子中有些字变成了\"方糖\"? 想看南方周末吗? 一个类似网络寻呼机(winsock)呼叫问题,高手请进 263的程序谁写的```我想说```` mysql的外键和事物处理 谁还在线,上来签个名,用来结交经常通宵到天亮的朋友~!进来! 对于程序员,深圳的工资比北京上海低,压力比北京上海高,那么我们为什么要生活在深圳? 寻求高清晰MTV下载网站!!! 我怎么改密码? 《流星花园》真的不应该封!!! ┖→C语言可以像汇编一样编到系统最底层吗?也就是说达到了汇编的功能。 windows程序设计心得体会,请指正 Cookie的有效范围问题 请教c++的问题 小弟刚开始学JAVA,遇到了难题,请教: \"System.NullReferenceException: 在需要对象实例的地方发现了空值\"--谁能详细解释一下这个错误是怎么回事 有关PV操作,先答先给分 已经是第二天了,还没有解决,高手请进:关于动态设置Ehlib控件footers.value的问题。。。 计算机等级考试什么时候报名,二级? 现在还有水友在吗? Jiefo FlowMIS 是什么类型的开发平台?与 Exchange、Lotus Notes 有什么区别? 一个极其沉重的话题。 欢迎测试英文电子商务网!! 为什么我在photoimpact中写的字模糊不清而在windows的画板中写的清楚? 凌晨四点一刻,我还在想找工作的事。