站内搜索:
免费注册 登陆     
您现在的位置:TT数据库 > 技巧 > T-SQL语句实现数据库备份与还原功能(三)
T-SQL语句实现数据库备份与还原功能(三)
2008-7-24   | |

  4.--创建作业
   

  调用示例


--每月执行的作业 
  exec p_createjob @jobname=’mm’,@sql=’select * from syscolumns’,@freqtype=’month’ 
  --每周执行的作业 
  exec p_createjob @jobname=’ww’,@sql=’select * from syscolumns’,@freqtype=’week’ 
  --每日执行的作业 
  exec p_createjob @jobname=’a’,@sql=’select * from syscolumns’ 
  --每日执行的作业,每天隔4小时重复的作业 
  exec p_createjob @jobname=’b’,@sql=’select * from syscolumns’,@fsinterval=4 


if exists (select * from dbo.sysobjects where id = object_id(N’[dbo].[p_createjob]’) and OBJECTPROPERTY(id, N’IsProcedure’) = 1) 
  drop procedure [dbo].[p_createjob] 
  GO 
  create proc p_createjob 
  @jobname varchar(100), --作业名称 
  @sql varchar(8000), --要执行的命令 
  @dbname sysname=’’, --默认为当前的数据库名 
  @freqtype varchar(6)=’day’, --时间周期,month 月,week 周,day 日 
  @fsinterval int=1, --相对于每日的重复次数 
  @time int=170000 --开始执行时间,对于重复执行的作业,将从0点到23:59分 
  as 
  if isnull(@dbname,’’)=’’ set @dbname=db_name() 
  --创建作业 
  exec msdb..sp_add_job @job_name=@jobname 
  --创建作业步骤 
  exec msdb..sp_add_jobstep @job_name=@jobname, 
  @step_name = ’数据处理’, 
  @subsystem = ’TSQL’, 
  @database_name=@dbname, 
  @command = @sql, 
  @retry_attempts = 5, --重试次数 
  @retry_interval = 5 --重试间隔 
  --创建调度 
  declare @ftype int,@fstype int,@ffactor int 
  select @ftype=case @freqtype when ’day’ then 4 
  when ’week’ then 8 
  when ’month’ then 16 end 
  ,@fstype=case @fsinterval when 1 then 0 else 8 end 
  if @fsinterval<>1 set @time=0 
  set @ffactor=case @freqtype when ’day’ then 0 else 1 end 
  exec msdb..sp_add_jobschedule @job_name=@jobname, 
  @name = ’时间安排’, 
  @freq_type=@ftype , --每天,8 每周,16 每月 
  @freq_interval=1, --重复执行次数 
  @freq_subday_type=@fstype, --是否重复执行 
  @freq_subday_interval=@fsinterval, --重复周期 
  @freq_recurrence_factor=@ffactor, 
  @active_start_time=@time --下午17:00:00分执行 
  go 

  应用案例--备份方案:

  完整备份(每个星期天一次)+差异备份(每天备份一次)+日志备份(每2小时备份一次)

  调用上面的存储过程来实现

declare @sql varchar(8000) 
  --完整备份(每个星期天一次) 
  set @sql=’exec p_backupdb @dbname=’’要备份的数据库名’’’ 
  exec p_createjob @jobname=’每周备份’,@sql,@freqtype=’week’ 
  --差异备份(每天备份一次) 
  set @sql=’exec p_backupdb @dbname=’’要备份的数据库名’’,@bktype=’DF’’ 
  exec p_createjob @jobname=’每天差异备份’,@sql,@freqtype=’day’ 
  --日志备份(每2小时备份一次) 
  set @sql=’exec p_backupdb @dbname=’’要备份的数据库名’’,@bktype=’LOG’’ 
  exec p_createjob @jobname=’每2小时日志备份’,@sql,@freqtype=’day’,@fsinterval=2 


T-SQL语句实现数据库备份与还原功能
  T-SQL语句实现数据库备份与还原功能
  T-SQL语句实现数据库备份与还原功能(二)
  T-SQL语句实现数据库备份与还原功能(三)
  T-SQL语句实现数据库备份与还原功能(四)
 原文出处:http://blog.csdn.net/confei/archive/2007/06/25/1665354.aspx
 来源:BLOG    作者:流浪浪    
相关的新闻
 
相关的技巧
在SQL Server开发中你可能会遇到以下10个问题:什么是常见的对表和字段的名字约束?有没有可能在不了解T-SQL的情况下编写存储过程?T-SQL 中如何比较CLR 存储过程和……
相关的专家答疑
作者研究了一份对Edgewood Solutions客户进行的调查,调查中询问他们认为什么是微软的新发布的数据库中最有价值的特性。一个不分职位、行业、公司规模和从业时间……。
 
相关的白皮书
SQL Server 2000客户端通过由API、对象库和协议组成的堆栈连接到SQL Server。Ken Henderson将逐一介绍该堆栈的每个组成部分,并说明它们如何工作以及如何进行交互操作。
作者研究了一份对Edgewood Solutions客户进行的调查,调查中询问他们认为什么是微软的新发布的数据库中最有价值的特性。一个不分职位、行业、公司规模和从业时间……。
SQL Server 2005中的T-SQL通过扩展传统关系型数据库管理系统获得了长足的进步。T-SQL还有其他方面的提高,检查DTS——现在是SQL Server集成服务,分析服务,报告服务等。
SQL Server 2005中的T-SQL通过扩展传统关系型数据库管理系统获得了长足的进步。T-SQL还有其他方面的提高,检查DTS——现在是SQL Server集成服务,分析服务,报告服务等。
错误和异常处理对于所有好的编程规范都是至关重要的。现在使用SQL Server 2005提供的Try…Catch块,你可以实现更好的错误处理……
错误和异常处理对于所有好的编程规范都是至关重要的。现在使用SQL Server 2005提供的Try…Catch块,你可以实现更好的错误处理……
作为Oracle E-Business Suite的初学者,应该从哪一部分开始学习?是Oracle Financials还是Oracle M
在上一个技术专题中我们提到了数据库安全,本篇继续介绍数据库安全的内容,包括如何限制用户的访问权限,并详细阐述了有关如何限制单一用户的访问权限、限制多个用户的访问权限、确保不同用户的
今天我们更加需要注意确保数据库安全。数据库安全当然包括数据库的用户名和密码安全问题。本文介绍设置用户名和密码的最佳方法、在授予或撤消用户访问权限时我们应该注意的事项以及我们能采取的
最新更新
专家答疑
技巧
Ian Abramson
我们想决定是否每晚都该进行增量更新和插入而不是复制产品系统。我知道增量表更新速度要快得多,但是有没有对该程序持反对意见的呢?有没有可能让文件脱离sync?
Ian Abramson
我是一名Oracle DBA。我想开始学习DW原理和其他的DW的其他资料。我还想紧跟这个行业的变化形势。你能给我们相关书籍和资料的建议吗?
Brian Peasland
数据仓储能在灾难恢复热站点上进行吗?Data Guard的优点之一就是你能将备用示例放在READ ONLY模式里,这样你就能在不影响Primary示例的情况下使报表接触到数据库。
TechTarget中国旗下网站群
All Rights Reserved, Copyright 2008, TechTarget中国
TechTarget中国