当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 通过作业调度建立SQL Server的自动备份

MSSQL
SQL语句技巧:按月统计数据
分页 SQLServer存储过程
SQL语句的基本语法
模糊查询
直接循环写入数据
删除重复记录
删除重复的记录,并保存第一条记录或保存最后一条记录
MSSQL数据库的定期自动备份计划。
一个比较实用的大数据量分页存储过程
数据库存储过程分页显示
ACCESS数据库的压缩,备份,还原,下载,删除的实现
sql编程的几个常识
SQL连接查询介绍
Sql Server基本函数
分页的存储过程
SQL Server全文索引服务
如何在SQLSERVER中快速有条件删除海量数据
整理一下SQLSERVER的排序规则
SQL Server各种日期计算方法(收藏)
全文检索技术 sql server

MSSQL 中的 通过作业调度建立SQL Server的自动备份


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 50 ::
收藏到网摘: n/a

SQL Server的作业调度来建立自动备份的方法

◆1、进入企业管理器中->管理->sql server代理->作业;

◆2、新建作业,作业名称随便取,例如:data备份,所有者选择sa,当然你也可以选择其他用户,前提是该用户有执行作业的权限;

◆3、点击步骤标签,进入步骤面板。新建步骤,步骤名可以随便填写,如步骤1,类型和数据库默认,不需要修改。命令中写入以下语句:

BACKUP DATABASE [数据库名] TO DISK = N'F:\data\数据库备份' WITH NOINIT , NOUNLOAD , NAME = N'数据库 备份', NOSKIP , STATS = 10, NOFORMAT

注意:需要修改的地方,数据库名,DISK=(这里需要填写路径和你的数据库备份的名称)后面的Name=可以随便填写。

◆4、点击调度标签,进入调度面板,新建调度,名称随便填写,选择反复出现,点更改可以选择你想要执行任务的随意调度。如每天,每2

天,每星期,每月等。根据需要自己设置;

◆5、确定后,不要忘记一件事情,在你刚才建立的工作上点右键,启动工作,如果你的工作没有问题,将会提示执行成功,并有相对应的备
份文件在你的磁盘上出现;

◆6、还有一个重要的问题就是你的sql server agent服务器已经启动。

如果我们需要根据每天的日期来生成一个新的备份,以便我们区别备份文件。这时,我们需要修改一下刚才的sql语句。参考实例:

declare @filename nvarchar(100)

set @filename='E:\data_Backup\BIS_data_backup_'+convert(char(10),getdate(),112)+'.bak'

print @filename

BACKUP DATABASE [BIS] TO DISK = @filename WITH NOINIT, NOUNLOAD, NAME = N'BIS_data_backup', NOSKIP , STATS = 10, NOFORMAT

或者按如下写法:

DECLARE @BACKFILENAME VARCHAR(200)

DECLARE @DATE CHAR(10)

DECLARE @FILENAME VARCHAR(200)

DECLARE @NAME VARCHAR(200)

SET @DATE=CONVERT(CHAR(10),GETDATE(),120)

SET @FILENAME='E:\data_Backup\'

SET @BACKFILENAME=@FILENAME+@DATE

SET @NAME='BIS_data_backup'

BACKUP DATABASE [BIS]

TO DISK = @BACKFILENAME WITH INIT , NOUNLOAD , NAME = @NAME, NOSKIP , STATS = 10, NOFORMAT

或者:

EXECUTE master.dbo.xp_sqlmaint N'-PlanID 1FAEE7FD-F0CC-4E9C-8100-FC1F9AF39063 -WriteHistory -VrfyBackup -BkUpMedia DISK

-BkUpDB "E:\data_backup" -BkExt "BAK"'

举例:

declare @filename nvarchar(100)

set @filename='E:\data_Backup\BIS_data_backup_'+replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),'

',''),':','')+'.bak'

print @filename

BACKUP DATABASE [BIS] TO DISK = @filename WITH NOINIT, NOUNLOAD, NAME = N'BIS_data_backup', NOSKIP , STATS = 10, NOFORMAT

时间戳不带秒:

substring(replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':',''),1,12 )