----备份数据库为指定文件语法:
--backup database databasename
--to backup_device 备份路径或设备
--[with 可选项
--[name=?], 备份的名称 ;取值为varchar类型
--[description=?], 备份描述 ;取值为varchar类型
--[differential], 差异备份,无此选项则做完全备份
--[format|noformat], 备份前是否先格式化磁带(相当于清空备份路径的文件内容,如无此项,会造成备份内容重复)
--[unload|nounload], 备份完成时是否退出磁带
--[restart], 备份是否继续进行前次中断的备份作业,如备份中途断电,用此选项可继续中断的备份
--[stats=?], 显示备份进度信息,默认为10%,可给任意百分比的值,取值为数字
--]
----还原数据库语法:(从硬盘备份文件还原)
--restore database databasename --还原数据库名
--from disk='...' --文件路径
--with replace --替换当前数据文件(可选)
--备份示例
backup database test
to disk='D:/testbackup.bak'--备份路径
with --备份选项设置,均为可选,以,分隔
--differential,
format, --格式化已存在的内容(即替换已存在此位置的备份内容)
name='backup_db_test',--备份的名称
description='对数据库test的完全备份',--备份描述
stats=20
--还原示例
restore database test
from disk='D:/testbackup.bak'
with replace --替换当前数据文件(可选)
另外restore headeronly
from disk='D:/testbackup.bak'
可查看备份信息。
测试数据是名为test的数据库,可以随便建一个数据库替换test测试。
DECLARE @strPath NVARCHAR(200)
set @strPath = convert(NVARCHAR(19),getdate(),120)
set @strPath = REPLACE(@strPath, ':' , '-')
set @strPath = 'D:/backup/'+@strPath + '.bak'
BACKUP DATABASE [test] TO DISK=@strPath WITH NOINIT,NOUNLOAD,NOSKIP, STATS = 10, NOFORMAT