●备份整个数据库:
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服务。