一、还原完整备份的语法如下:

RESTORE DATABASE { database_name | @database_name_var }                  --数据库名

[ FROM <backup_device> [ ,...n ] ]                                                --备份设备

[ WITH

[ { CHECKSUM | NO_CHECKSUM } ]                                        --是否校检和

[ [ , ] { CONTINUE_AFTER_ERROR | STOP_ON_ERROR } ]             --还原失败是否继续

[ [ , ] ENABLE_BROKER ]                                           --启动Service Broker

[ [ , ] ERROR_BROKER_CONVERSATIONS ]                              --对束所有会话

[ [ , ] FILE = { backup_set_file_number | @backup_set_file_number } ]        --用于还原的文件

[ [ , ] KEEP_REPLICATION ]                            --将复制设置为与日志传送一同使用

[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]                    --媒体名

[ [ , ] MEDIAPASSWORD = { mediapassword |                                  --媒体密码

@mediapassword_variable } ]

[ [ , ] MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name' ]     --数据还原为

[ ,...n ]

[ [ , ] NEW_BROKER ]                                  --创建新的service_broker_guid值

[ [ , ] PASSWORD = { password | @password_variable } ]                     --备份集的密码

[ [ , ] { RECOVERY | NORECOVERY | STANDBY =                              --恢复模式

{standby_file_name | @standby_file_name_var }

} ]

[ [ , ] REPLACE ]                                                      --覆盖现有数据库

[ [ , ] RESTART ]                                            --重新启动被中断的还原操作

[ [ , ] RESTRICTED_USER ]                                      --限制访问还原的数据库

[ [ , ] { REWIND | NOREWIND } ]                                    --是否释放和重绕磁带

[ [ , ] { UNLOAD | NOUNLOAD } ]                                    --是否重绕并卸载磁带

[ [ , ] STATS [ = percentage ] ]                       --还原到其在指定的日期和时间时的状态

[ [ , ] { STOPAT = { date_time | @date_time_var }                  --还原到指定的日期和时间

|  STOPATMARK = { 'mark_name' | 'lsn:lsn_number' }    --恢复为已标记的事务或日志序列号

[ AFTER datetime ]

|  STOPBEFOREMARK = { 'mark_name' | 'lsn:lsn_number' }

[ AFTER datetime ]

} ]

]

[;]

<backup_device> ::=

{

{ logical_backup_device_name |

@logical_backup_device_name_var }

| { DISK | TAPE } = { 'physical_backup_device_name' |

@physical_backup_device_name_var }

}

其中大多参数在备份数据时已经介绍过了,下面介绍一些没有介绍过的参数:

l  ENABLE_BROKER:启动Service Broker以便消息可以立即发送。

l  ERROR_BROKER_CONVERSATIONS:发生错误时结束所有会话,并产生一个错误指出数据库已附加或还原。此时Service Broke将一直处于禁用状态直到此操作完成,然后再将其启用。

l  KEEP_REPLICATION:将复制设置为与日志传送一同使用。设置该参数后,在备用服务器上还原数据库时,可防止删除复制设置。该参数不能与NORECOVERY参数同时使用。

l  MOVE:将逻辑名指定的数据文件或日志文件还原到所指定的位置,相当于图18.14中所示的【将数据库文件还原为】功能。

l  NEW_BROKER:使用该参数在会在databases数据库和还原数据库中都创建一个新的service_broker_guid值,并通过清除结束所有会话端点。Service Broker已启用,但未向远程会话端点发送消息。

l  RECOVERY:回滚未提交的事务,使数据库处于可以使用状态。无法还原其他事务日志

l  NORECOVERY:不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志。

l  STANDBY:使数据库处于只读模式。撤消未提交的事务,但将撤消操作保存在备用文件中,以便可以恢复效果逆转。

l  standby_file_name | @standby_file_name_var:指定一个允许撤消恢复效果的备用文件或变量。

l  REPLACE:会覆盖所有现有数据库以及相关文件,包括已存在的同名的其他数据库或文件。

l  RESTART:指定SQL Serve 应重新启动被中断的还原操作。RESTAR从中断点重新启动还原操作。

l  RESTRICTED_USER:还原后的数据库仅供db_owner、dbcreator或sysadmin的成员才能使用。

l  STOPAT:将数据库还原到其在指定的日期和时间时的状态。

l  STOPATMARK:恢复为已标记的事务或日志序列号。恢复中包括带有已命名标记或 LSN 的事务,仅当该事务最初于实际生成事务时已获得提交,才可进行本次提交。

l  TOPBEFOREMARK:恢复为已标记的事务或日志序列号。恢复中不包括带有已命名标记或LSN的事务,在使用WITH RECOVERY时,事务将回滚。

二例子 、备份与还原

备份:

BACKUP DATABASE "mydb" TO DISK ='C:\mybak.bak' 

还原
use master
RESTORE DATABASE "mydb_hf" FROM DISK='C:\mybak.bak'
 WITH 
MOVE 'mydb_Data' TO 'c:\mydb20041217.mdf', --数据文件还原后存放的新位置
MOVE 'mydb_Log' TO 'c:\mydb20041217.ldf' ----日志文件还原后存放的新位置 或者 2 --创建备份设备 USE [master]
GO
EXEC master.dbo.sp_addumpdevice  @devtype = N'disk', @logicalname = N'beifen', @physicalname = N'D:\beifen.bak'
GO
--完整备份到备份设备中
BACKUP
DATABASE [student] TO  [beifen] WITH NOFORMAT, NOINIT,  NAME =
N'student-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO
--还原完整备份
RESTORE DATABASE [student] FROM  [beifen] WITH  FILE = 1,  NOUNLOAD,  REPLACE,  STATS = 10
GO
--差异备份
BACKUP
DATABASE [student] TO  [beifen] WITH  DIFFERENTIAL , NOFORMAT, NOINIT, 
NAME = N'student-差异 数据库 备份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO
--事务日志备份
BACKUP LOG [student] TO  [beifen] WITH NOFORMAT, NOINIT,  NAME = N'student-事务日志  备份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO
--还原到最近状态
RESTORE DATABASE [student] FROM  [beifen] WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10
GO
RESTORE DATABASE [student] FROM  [beifen] WITH  FILE = 2,  NORECOVERY,  NOUNLOAD,  STATS = 10
GO
RESTORE LOG [student] FROM  [beifen] WITH  FILE = 3,  NOUNLOAD,  STATS = 10
GO

sql2012管理的更多相关文章

  1. 使用本地服务器组来管理局域网或公网上的SQLSERVER

    使用本地服务器组来管理局域网或公网上的SQLSERVER 测试的两台机器 Windows7 64位   SQLSERVER2005 SP5 Windows7 64位   SQLSERVER2012 S ...

  2. paip.sql2k,sql2005,sql2008,sql2008 r2,SQL2012以及EXPRESS版本的区别

    paip.sql2k,sql2005,sql2008,sql2008 r2,SQL2012以及EXPRESS版本的区别 作者Attilax ,  EMAIL:1466519819@qq.com  来源 ...

  3. Chapter 1 Securing Your Server and Network(2):管理服务的SIDs

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/37927319 ,专题文件夹:http://blog.csdn.net/dba_huang ...

  4. 全易通人事考勤工资验厂管理系统软件创建连接SQL2000数据库的操作方法和说明

    全易通人事考勤工资验厂管理系统软件创建连接SQL2000数据库的操作方法和说明.全易通人事考勤工资验厂管理系统软件,有2种数据库,一个是ACCESS,另一个是SQL.不过由于ACCESS数据库比较小, ...

  5. C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库

    C# DateTime的11种构造函数   别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...

  6. SQL Server 2008 SQL2012 SQL2014 收缩日志 清空删除大日志文件

    SQL2008 SQL2012 SQL2014 的收缩日志 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:(SQL2005)Bac ...

  7. .NET Core中的认证管理解析

    .NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...

  8. npm 私有模块的管理使用

    你可以使用 NPM 命令行工具来管理你在 NPM 仓库的私有模块代码,这使得在项目中使用公共模块变的更加方便. 开始前的工作 你需要一个 2.7.0 以上版本的 npm ,并且需要有一个可以登陆 np ...

  9. Spring基于AOP的事务管理

                                  Spring基于AOP的事务管理 事务 事务是一系列动作,这一系列动作综合在一起组成一个完整的工作单元,如果有任何一个动作执行失败,那么事务 ...

随机推荐

  1. tomcat 配置项目

    tomcat\conf\Catalina\localhost      下面存在项目配置文件信息,emas.xml 表示你eclipse中有个emas项目, 还有其他的项目xml.

  2. iOS程序启动原理(简单)

    1.执行main -> 执行UIApplicationMain UIApplicationMain底层实现 1.创建UIApplication对象 2.创建UIApplication代理对象 3 ...

  3. mysql-5.7.10-winx64 MySQL服务无法启动,服务没有报告任何错误的解决办法

      总结报错原因:在my.init文件下新增data目录(datadir = F:\mysqldata ) 最新解压版本的mysql 解压安装的时候报错D:\mysql\mysql-5.7.10-wi ...

  4. c++标准库函数equal_range()

    首先容器(vector)的中的元素是有序的.这里就不讲容器元素类型为内置的类型的用法,因为比较容易. 重点讲一下容器元素类型为自定义类型时的用法.当我们把自定义类型的数据成员的类型的值传给equal_ ...

  5. GetMemory()函数

    NO1 void GetMemory(char *p) { p=(char *)malloc(100); } void Test() { char * str=NULL; GetMemory(str) ...

  6. OpenNMS Log Correlator

  7. Android4: Write Storage权限问题

    原文:Android4: Write Storage权限问题 2.3中声明 <uses-permission android:name="android.permission.WRIT ...

  8. [原]容器学习(二):动手模拟AOP

    简单来说,Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架.上文已经介绍模拟IoC实现,这篇文章来动手模拟AOP. AOP简述 面向对象强调"一切皆是对象" ...

  9. Twitter模块开发

    Twitter模块开发 关于Twitter这一块,自发这篇博文之后有很多人问我,有的验证成功了不跳转,或者其它原因什么的 =======我看了一下,这篇博文里面有写呀,下面以红色粗体文字注明一下 Tw ...

  10. Ubuntu下获取Nexus7的Root权限

    一.准备 下载获取Root权限的工具包. 下载地址: http://downloadandroidrom.com/file/Nexus7/rooting/Nexus7Root.zip 二.解锁 Ubu ...