博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sqlserver 还原
阅读量:6192 次
发布时间:2019-06-21

本文共 4294 字,大约阅读时间需要 14 分钟。

--完整还原

RESTORE DATABASE demoData   FROM DISK=N'D:\Backup\demoData.bak';

RESTORE DATABASE { database_name | @database_name_var }

[ FROM <backup_device> [ ,...n ] ]
[ WITH
{
[       RECOVERY --指定还原操作将所有未提交的事务回滚,并使数据库可用;如果后续需要从差异备份和事务日志备份继续还原操作,那么必须使用 NORECOVERY选项;RECOVERY 选项用于还原操作的最后一个Restore命令中。

        | NORECOVERY --指定还原操作不回滚未提交的事务,后续需要从差异备份或事务日志备份继续还原操作,在还原过程的最后一个Restore命令之前,使用NoRecovery选项。

        | STANDBY =   

{standby_file_name | @standby_file_name_var } --RECOVERY(默认值)表示在当前备份完成前滚后,应执行回滚
]
| , <general_WITH_options> [ ,...n ]
| , <replication_WITH_option>
| , <change_data_capture_WITH_option>
| , <FILESTREAM_WITH_option>
| , <service_broker_WITH options>
| , \<point_in_time_WITH_options—RESTORE_DATABASE>
} [ ,...n ]
]
[;]

--恢复数据库的一部分(部分还原)

RESTORE DATABASE { database_name | @database_name_var }
<files_or_filegroups> [ ,...n ]
[ FROM <backup_device> [ ,...n ] ]
WITH
PARTIAL, NORECOVERY
[ , <general_WITH_options> [ ,...n ]
| , \<point_in_time_WITH_options—RESTORE_DATABASE>
] [ ,...n ]
[;]

--将特定文件或文件组还原到数据库(文件还原) 

RESTORE DATABASE { database_name | @database_name_var }
<file_or_filegroup> [ ,...n ]
[ FROM <backup_device> [ ,...n ] ]
WITH
{
[ RECOVERY | NORECOVERY ]
[ , <general_WITH_options> [ ,...n ] ]
} [ ,...n ]
[;]

--将特定页面还原到数据库(页面还原) 

RESTORE DATABASE { database_name | @database_name_var }
PAGE = 'file:page [ ,...n ]'
[ , <file_or_filegroups> ] [ ,...n ]
[ FROM <backup_device> [ ,...n ] ]
WITH
NORECOVERY
[ , <general_WITH_options> [ ,...n ] ]
[;]

--将事务日志还原到数据库(事务日志还原)

RESTORE LOG { database_name | @database_name_var }
[ <file_or_filegroup_or_pages> [ ,...n ] ]
[ FROM <backup_device> [ ,...n ] ]
[ WITH
{
[ RECOVERY | NORECOVERY | STANDBY =
{standby_file_name | @standby_file_name_var }
]
| , <general_WITH_options> [ ,...n ]
| , <replication_WITH_option>
| , \<point_in_time_WITH_options—RESTORE_LOG>
} [ ,...n ]
]
[;]

--将数据库还原到数据库快照捕获的时间点

RESTORE DATABASE { database_name | @database_name_var }
FROM DATABASE_SNAPSHOT = database_snapshot_name

 

 

<backup_device>::= --备份设备定义

{
{ logical_backup_device_name |
@logical_backup_device_name_var }
| { DISK | TAPE | URL } = { 'physical_backup_device_name' |  
@physical_backup_device_name_var }
}
<files_or_filegroups>::= --文件或文件组定义
{
FILE = { logical_file_name_in_backup | @logical_file_name_in_backup_var }
| FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
| READ_WRITE_FILEGROUPS   --通过指定READ_WRITE_FILEGROUPS 创建的备份称为“部分备份”。在简单恢复模式下,只允许对只读文件组执行文件组备份。还原的数据备份类型:数据库备份、部分备份或文件备份。对于数据库备份或部分备份,日志备份序列必须从数据库备份或部分备份的结尾处开始延续。对于一组文件备份,日志备份序列必须从整组文件备份的开头开始延续。

 }

<general_WITH_options> [ ,...n ]::= --普通WITH选项定义

--还原操作选项 
MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name'
[ ,...n ]
| REPLACE --在SQL Server实例中,如果要还原的数据和现存的数据库同名,那么,指定Replace选项,SQL Server将会把已存在的同名数据库删除。如果没有指定Replace选项,SQL Server会做安全检查,不会将现存的同名数据库删除
| RESTART --在数据库还原操作中断(interrupt)时,重启还原操作,从中断处重新开始还原操作
| RESTRICTED_USER | CREDENTIAL --对新还原的数据库,限制(restrict)用户访问,只允许角色 db_owner, dbcreator 或 sysadmin 的成员的访问

--备份设置选项 

| FILE = { backup_set_file_number | @backup_set_file_number }
| PASSWORD = { password | @password_variable }

--媒体设置选项 

| MEDIANAME = { media_name | @media_name_variable }
| MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
| BLOCKSIZE = { blocksize | @blocksize_variable }

--数据事务选项 

| BUFFERCOUNT = { buffercount | @buffercount_variable }
| MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

--错误检测选项 

| { CHECKSUM | NO_CHECKSUM }  --检测校验和
| { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

--检测选项 

| STATS [ = percentage ]

--磁带选项 

| { REWIND | NOREWIND }
| { UNLOAD | NOUNLOAD }

<replication_WITH_option>::=

| KEEP_REPLICATION

<change_data_capture_WITH_option>::=

| KEEP_CDC

<FILESTREAM_WITH_option>::=

| FILESTREAM ( DIRECTORY_NAME = directory_name )

<service_broker_WITH_options>::=

| ENABLE_BROKER
| ERROR_BROKER_CONVERSATIONS
| NEW_BROKER

\<point_in_time_WITH_options—RESTORE_DATABASE>::=

| {
STOPAT = { 'datetime'| @datetime_var }
| STOPATMARK = 'lsn:lsn_number'
[ AFTER 'datetime']
| STOPBEFOREMARK = 'lsn:lsn_number'
[ AFTER 'datetime']
}

\<point_in_time_WITH_options—RESTORE_LOG>::=

| {
STOPAT = { 'datetime'| @datetime_var }
| STOPATMARK = { 'mark_name' | 'lsn:lsn_number' }
[ AFTER 'datetime']
| STOPBEFOREMARK = { 'mark_name' | 'lsn:lsn_number' }
[ AFTER 'datetime']
}

转载于:https://www.cnblogs.com/oren/p/7513085.html

你可能感兴趣的文章
php socket客户端及服务器端应用实例
查看>>
华商注意!假冒欧元硬币泛滥 西班牙警方发警告
查看>>
北京首家协调劳动关系工作站成立 推进服务向基层延伸下沉
查看>>
厦门关区去年对台进出口达634.3亿元
查看>>
香港冬季流感肆虐 急症室求诊人数6751人次创新高
查看>>
记一次递归在我项目中所发挥的作用
查看>>
如何让 fixed 定位的导航条可横向滚动?
查看>>
Swift iOS : 监视字段变化的方法
查看>>
精读《async/await 是把双刃剑》
查看>>
Android P 应用兼容常见错误及建议
查看>>
[译]Android 生命周期备忘录 — 第一部分:单一 Activities
查看>>
Android内存泄露浅析
查看>>
【Android】仿斗鱼滑动拼图验证码控件
查看>>
让 UIWebview 拥有超强的图片处理能力
查看>>
异步社区本周(5.14-5.20)半价电子书
查看>>
Xcode 高级调试技巧
查看>>
理解DDoS防护本质:基于资源较量和规则过滤的智能化系统
查看>>
js 中基础数据结构数组去重问题
查看>>
Android Gradle(一)为什么现在要用Gradle?
查看>>
Python 简单入门指北(试读版)
查看>>