通过作业调度建立SQLServer的自动备份
SQL Server的作业调度建立自动备份方法
1、进入企业管理->管理->sql server代理->作业;
◆2.创建一个新作业,取任意作业名,例如:数据备份,所有者选择sa。当然也可以选择其他用户,前提是该用户有执行作业的权限;
◆3.单击步骤选项卡进入步骤面板。新建一个步骤,步骤名称可以随便填写。例如,在步骤1中,类型和数据库是默认的,不需要修改。在命令中写入以下语句:
将数据库[名称]备份到磁盘= N ' f:\ data \ DATABASE BACKUP ' WITH no init,NOUNLOAD,NAME = N '数据库备份',NOSKIP,STATS = 10,NOFORMAT
注意:数据库名称和after DISK = =(这里需要填写路径和你的数据库备份的名称)后可以随便填写。
◆4.点击日程标签,进入日程面板,新建一个日程,随便填名字,选择重复出现。单击“更改”,选择要执行任务的任何计划。如每天、每两天、每周、每月等。根据需要自己设置;
◆5.确认之后,别忘了一件事。右键单击您刚刚设置的工作,并开始工作。如果工作没有问题,会提示执行成功,有相应的准备。
磁盘上出现一个文件;
◆6.另一个重要问题是您的sql server代理服务器已经启动。
如果我们需要根据每天的日期生成新的备份,这样我们就可以区分备份文件。此时,我们需要修改刚才的sql语句。参考示例:
声明@filename nvarchar(100)
set @ filename = ' E:\ data _ Backup \ BIS _ data _ Backup _ '+convert(char(10),getdate(),112)+'。贝克
打印@文件名
将数据库[BIS]备份到磁盘= @filename WITH NOINIT,NOUNLOAD,NAME = N'BIS_data_backup ',NOSKIP,STATS = 10,NOFORMAT
或者这样写:
DECLARE @ back filename 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 @ back FILENAME = @ FILENAME+@ DATE
SET @NAME='BIS_data_backup '
备份数据库
TO DISK = @BACKFILENAME WITH INIT,NOUNLOAD,NAME = @NAME,NOSKIP,STATS = 10,NOFORMAT
或者:
执行master . dbo . XP _ sqlmaint N '-PlanID 1 faee 7 FD-F0CC-4E9C-8100-fc 1 f 9 af 39063-write history-vrfy backup-BkUpMedia DISK
-BkUpDB " E:\ data _ backup "-BkExt " BAK " '
示例:
声明@filename nvarchar(100)
set @ filename = ' E:\ data _ Backup \ BIS _ data _ Backup _ '+replace(replace(CONVERT(varchar,getdate(),120),'-',''),'
',''),':','')+'.贝克
打印@文件名
将数据库[BIS]备份到磁盘= @filename WITH NOINIT,NOUNLOAD,NAME = N'BIS_data_backup ',NOSKIP,STATS = 10,NOFORMAT
不带秒的时间戳:
substring(replace(replace(CONVERT(varchar,getdate(),120),'-',''),'',''),':',''),1,12)
位律师回复
0条评论