存储过程(一)

备份整个数据库:
BACKUP DATABASE { database_name | @database_name_var }
TO < backup_device > [ ,...n ]
[ WITH
    [ BLOCKSIZE = { blocksize | @blocksize_variable } ]
    [ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
    [ [ , ] DIFFERENTIAL ]
    [ [ , ] EXPIREDATE = { date | @date_var }
        | RETAINDAYS = { days | @days_var } ]
    [ [ , ] PASSWORD = { password | @password_variable } ]
    [ [ , ] FORMAT | NOFORMAT ]
    [ [ , ] { INIT | NOINIT } ]
    [ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
    [ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
    [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
    [ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
    [ [ , ] { NOSKIP | SKIP } ]
    [ [ , ] { NOREWIND | REWIND } ]
    [ [ , ] { NOUNLOAD | UNLOAD } ]
    [ [ , ] RESTART ]
    [ [ , ] STATS [ = percentage ] ]
]

例子:
CREATE PROCEDURE [dbo].P_AutoBack AS
declare
@filename varchar(100),
@NowDay   int 

--路径加文件名加时间
set @filename='I:/tenghe/db_back/AutoBack'+ Convert(char(8),GetDate(),112) +'.bak'
set @NowDay=Day(GetDate())

--单号日期备份
if @NowDay%2!=0 
  begin
    BACKUP DATABASE [fthAQM] TO DISK = @filename WITH NOFORMAT,  INIT,  NAME = N'品质系统数据备份', NOSKIP,  NOUNLOAD,  STATS = 10
  end

解释:
{ FORMAT| NOFORMAT}
FORMAT 指定应将媒体头写入用于此备份操作的所有卷。任何现有的媒体头都被重写。格式化一个备份设备或媒体将使整个媒体集不可用。通过指定 FORMAT,备份操作也就暗示了 SKIP 和 INIT;这些都不必显式说明。
NOFORMAT指定媒体头不应写入所有用于该备份操作的卷中,并且不要重写该备份设备除非指定了 INIT。

{ NOINIT | INIT }
控制备份操作是追加到还是覆盖备份媒体中的现有备份集。默认为追加到媒体中最新的备份集 (NOINIT)。

{ REWIND | NOREWIND }
REWIND 指定 SQL Server 将释放和重绕磁带,是默认设置。
NOREWIND指定在备份操作之后,SQL Server 让磁带一直处于打开状态。在对磁带执行多个备份操作时,可以使用此选项来帮助改进性能。其包含 NOUNLOAD,并且这些选项在单个BACKUP 语句中不兼容。

{ UNLOAD | NOUNLOAD }
UNLOAD指定在备份完成后自动重绕并卸载磁带。会话开始时 UNLOAD 是默认值。
NOUNLOAD指定在 BACKUP 操作之后磁带将继续加载在磁带机中。

{ SKIP| NOSKIP}
NOSKIP指示 BACKUP 语句在可以重写媒体上的所有备份集之前先检查它们的过期日期。
SKIP禁用备份集过期和名称检查,这些检查一般由 BACKUP 语句执行以防重写备份集。有关更多信息,请参见注释部分。

STATS [= percentage]
每当另一个 percentage 结束时显示一条消息,它被用于测量进度。如果省略 percentage,SQL Server 将每完成 10 个百分点显示一条消息。

作业调度:
新建完存储过程,进入企业管理器中->管理->sql server代理->作业,
1.新建作业,作业名随便取,所有者选择sa,当然也可以选择其他有执行作业权限的用户;
2.新建步骤,步骤名随便取,选择要备份的数据库,在命令中输入 exec('过程名');
3.新建调度,选择[反复出现],点击[更改]可自己选择一个时间;
4.把SQlServer服务管理器 启用SqlServer Agent服务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值