`
philip01
  • 浏览: 47134 次
  • 来自: ...
社区版块
存档分类
最新评论

SQL Server 定时备份数据库(作业)

阅读更多


use iSignatureKey --数据名称


if exists (select * from dbo.sysobjects where id=object_id(N'[dbo].mysp_All_iSignatureKey') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop  procedure [dbo].mysp_All_iSignatureKey
go


CREATE PROCEDURE mysp_All_iSignatureKey
@bakpath varchar(4000) --备份路径
AS           
BACKUP   DATABASE   iSignatureKey  TO   DISK   =   @bakpath 
GO


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), --要执行的命令
 @serverName sysname='',--job server名
 @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()
--创建作业
if exists(select 1 from msdb..sysjobs where name=@jobname)
exec msdb..sp_delete_job @job_name=@jobname
exec msdb..sp_add_job @job_name=@jobname
--创建作业步骤
exec msdb..sp_add_jobstep   @job_name=@jobname,
 @step_name='BakdataStart',
 @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_interval=@fsinterval,--重复周期
@freq_recurrence_factor=@ffactor,
@active_start_time=@time--下午17:00:00分执行

if @servername=''
set @servername=@@servername
EXEC msdb..sp_add_jobserver @job_name=@jobname,
@server_name=@servername
go

exec p_createjob @jobname='iSignatureKey.bak',
@sql='exec mysp_All_iSignatureKey @bakpath="d:\iSignatureKey.bak"', --bakpath备份路径
@dbname='iSignatureKey',
@freqtype='day',
@time='235959' --你起备份的时间HHMMSS(HH:24制小时,MM:分钟,SS:秒)

 

分享到:
评论

相关推荐

    SQL Server 数据库实现定时自动备份

    实现定时自动备份的方法通常是通过SQL Server代理服务和作业来完成。以下是一步一步的详细操作步骤: 1. **创建备份设备**:在SQL Server Management Studio (SSMS) 中,打开“管理”菜单,选择“备份设备”,然后...

    sql server自动备份数据库

    SQL Server 代理是 SQL Server 的一部分,负责执行预定义的作业,例如备份数据库、维护索引、统计信息等。代理可以在后台运行,以便管理员可以专注于其他任务。 设置 SQL Server 代理 要设置 SQL Server 代理,...

    sqlserver多数据库自启动定时备份工具批量执行脚本

    "sqlserver多数据库自启动定时备份工具批量执行脚本"是一种高效的方法,它允许管理员自动化备份多个数据库,特别是在系统启动时自动运行,以确保数据始终得到保护。这个解决方案尤其适用于那些包含大量关键数据和对...

    SQLserver数据库自动定时备份

    本篇将重点介绍"SQLserver数据库自动定时备份"这一重要知识点。 SQL Server 自动定时备份允许用户设置特定的时间点来自动执行数据库备份,这在防止数据丢失或系统故障时恢复数据方面起到了关键作用。通过设定备份...

    Delphi SQL Server数据库备份程序_delphi_SQL_ServerDelphi_sqlserver_

    在描述中提到的“sqlserver 程序化备份”,意味着我们需要在Delphi应用程序中编写代码来执行SQL Server的备份任务。这可以通过以下步骤实现: 1. 连接数据库:使用ADOConnection组件,配置适当的连接字符串(如...

    服务器SQL Server 自动定时备份和还原的工具

    本工具是自己开发的,用于SQL Server 数据库的备份与还原用,有了本工具,设定好每一个数据库的备份时间,可以按年、月、日、时、分设置好后,到时间自动备份,工具还有备份数据为多少天前的可以自动删除,同时也有...

    SQL_Server_2008维护计划实现数据库定时自动备份

    在SQL Server 2008中,实现数据库定时自动备份主要依赖于两种方法:使用SQL Server Agent作业和利用维护计划。下面将详细阐述这两种方法。 ##### 使用SQL Server Agent作业进行数据库备份 这种方法涉及到创建一个...

    c# asp.net实现sql server数据库备份

    例如,定期进行完整备份,然后在两次完整备份之间进行差异备份,同时根据业务需求定时备份事务日志。 在压缩包中提供的"使用组件式数据库备份恢复"可能包含更详细的步骤和示例代码,例如如何使用组件化的方式设计...

    SQL Server计划自动备份(TSQL_备份共享文件版)

    在SQL Server环境中,确保数据的安全性和可恢复性是至关重要的,定期备份数据库是实现这一目标的关键环节。"SQL Server计划自动备份(TSQL_备份共享文件版)"这个主题涉及如何利用TSQL脚本和SQL Server代理服务设置...

    sql server 完整备份数据库脚本

    根据提供的文件信息,我们可以深入探讨SQL Server完整备份数据库的相关知识点,包括备份脚本的理解与应用、不同版本间的差异以及执行过程中的注意事项。 ### SQL Server 完整备份数据库脚本解析 #### 一、脚本概览...

    SQLServer 2008 数据库定时自动备份

    本文详细介绍了如何在 SQL Server 2008 中实现数据库的定时自动备份,包括创建存储过程、创建代理作业、检查备份日志及结果以及故障恢复等多个方面。通过这些步骤,可以有效地保护数据库数据的安全性,减少因意外...

    SQL Server自动备份脚本 bat

    下面将详细介绍如何利用SQL Server的T-SQL命令以及批处理(bat)文件来创建一个定时备份策略。 首先,`sqlserverbackup.sql` 文件通常包含用于生成数据库备份的T-SQL语句。这些语句可能包括以下内容: 1. `BACKUP ...

    sqlserver定时备份与删除备份后表中数据.docx

    - 在“选择维护任务”中,选择“备份数据库完整”、“清除维护任务”和“执行 SQL Server 代理作业”。 6. **备份设置**: - 选择要备份的数据库,并指定备份的位置和文件扩展名(通常为 .bak)。 - 在“选项”...

    SQL Server数据库自动备份

    8. 可以设置自动启动 sql server Agent:运行 Services.msc,设置 sqlserverAgent 为自动启动。 修改计划:打开企业管理器,在控制台根目录中依次点开 Microsoft SQL Server--&gt;SQL Server 组--&gt;双击打开你的服务器--...

    sqlserver自动备份与恢复系统(到FTP)

    SQL Server自动备份与恢复系统是数据库管理中至关重要的环节,特别是在大型企业或高并发应用环境中,数据的安全性和可恢复性是保障业务连续性的重要因素。本文将深入探讨如何利用Delphi编程语言构建一个SQL Server...

    在SQL Server 2005数据库中实现自动备份自动删除备份文件

    2. **启动SQL Server代理**:SQL Server代理是用于调度和执行SQL Server中的作业(jobs)的服务,这些作业可以包括备份数据库等任务。 3. **创建新作业**:在对象资源管理器中,展开“SQL Server代理”-&gt;“作业”,...

    SQL Server中制作数据库自动定时备份

    ### SQL Server中制作数据库自动定时备份 #### 一、引言 在数据库管理中,定期进行数据备份是一项至关重要的任务,它能够确保在系统故障或数据丢失等意外情况发生时,能够快速恢复到正常状态。SQL Server 提供了...

    Java SQL server 数据库备份

    在SQL Server中,备份数据库通常通过T-SQL语句`BACKUP DATABASE`执行。在Java中,可以通过`Statement`或`PreparedStatement`对象执行这个命令。例如: ```java String sql = "BACKUP DATABASE [YourDatabaseName]...

    Sql Server数据库自动全备份的脚本(带7z压缩)

    SQL Server 提供了一种叫做维护计划的工具,可以设置定时执行备份任务。但在这个场景中,我们使用的是自定义的vbs(Visual Basic Script)脚本来实现自动化。这种自定义的方法更灵活,可以根据具体需求定制备份策略...

    自动定时备份SQLServer2005数据库

    在SQL Server 2005中,定期备份数据库是非常关键的操作,它确保数据的安全性和可恢复性。自动定时备份能够避免手动操作的疏忽和不便,尤其对于大型系统,这是一项必要的设置。以下是对如何自动定时备份SQL Server ...

Global site tag (gtag.js) - Google Analytics