SQL Server 2014 MSDN 教程链接如下:
https://msdn.microsoft.com/library/hh231699(v=sql.120).aspx
数据库实例数据库链接:
http://msftdbprodsamples.codeplex.com/releases/view/125550
下面开始演示数据库恢复。
首先创建同名空数据库AdventureWorks2014。
--数据库客户端自带脚本生成示例举例
CREATE DATABASE [AdventureWorks2014]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'AdventureWorks2014', FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\AdventureWorks2014.mdf' , SIZE = 5120KB , FILEGROWTH = 1024KB )
LOG ON
( NAME = N'AdventureWorks2014_log', FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\AdventureWorks2014_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
GO
ALTER DATABASE [AdventureWorks2014] SET COMPATIBILITY_LEVEL = 120
GO
ALTER DATABASE [AdventureWorks2014] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [AdventureWorks2014] SET ANSI_NULLS OFF
GO
ALTER DATABASE [AdventureWorks2014] SET ANSI_PADDING OFF
GO
ALTER DATABASE [AdventureWorks2014] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [AdventureWorks2014] SET ARITHABORT OFF
GO
ALTER DATABASE [AdventureWorks2014] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [AdventureWorks2014] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [AdventureWorks2014] SET AUTO_CREATE_STATISTICS ON(INCREMENTAL = OFF)
GO
ALTER DATABASE [AdventureWorks2014] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [AdventureWorks2014] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [AdventureWorks2014] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [AdventureWorks2014] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [AdventureWorks2014] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [AdventureWorks2014] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [AdventureWorks2014] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [AdventureWorks2014] SET DISABLE_BROKER
GO
ALTER DATABASE [AdventureWorks2014] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [AdventureWorks2014] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [AdventureWorks2014] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [AdventureWorks2014] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [AdventureWorks2014] SET READ_WRITE
GO
ALTER DATABASE [AdventureWorks2014] SET RECOVERY FULL
GO
ALTER DATABASE [AdventureWorks2014] SET MULTI_USER
GO
ALTER DATABASE [AdventureWorks2014] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [AdventureWorks2014] SET TARGET_RECOVERY_TIME = 0 SECONDS
GO
ALTER DATABASE [AdventureWorks2014] SET DELAYED_DURABILITY = DISABLED
GO
USE [AdventureWorks2014]
GO
IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N'PRIMARY') ALTER DATABASE [AdventureWorks2014] MODIFY FILEGROUP [PRIMARY] DEFAULT
GO
在数据库右键菜单选择还原数据库时失败。错误信息为“备份集中的数据库备份与现有的 'AdventureWorks2014' 数据库不同。”
尝试不同方法和选项恢复均无法实现。错误截图如下:
删除已创建数据库。
重新使用系统脚本。代码如下
RESTORE DATABASE [AdventureWorks2014] FILE = N'AdventureWorks2014_Data' FROM DISK = N'D:\Adventure Works 2014 Full Database Backup\AdventureWorks2014.bak' WITH FILE = 1,
MOVE N'AdventureWorks2014_Data' TO N'D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\\AdventureWorks2014.mdf',
MOVE N'AdventureWorks2014_Log' TO N'D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\\AdventureWorks2014.ldf',
NOUNLOAD, STATS = 10
GO
#消息
已处理百分之 10。
已处理百分之 20。
已处理百分之 30。
已处理百分之 40。
已处理百分之 50。
已处理百分之 60。
已处理百分之 70。
已处理百分之 80。
已处理百分之 90。
已处理百分之 100。
已为数据库 'AdventureWorks2014',文件 'AdventureWorks2014_Data' (位于文件 1 上)处理了 24248 页。
已为数据库 'AdventureWorks2014',文件 'AdventureWorks2014_Log' (位于文件 1 上)处理了 4 页。
RESTORE DATABASE ... FILE=<name> 成功处理了 24252 页,花费 3.086 秒(61.394 MB/秒)。
#查询已成功执行
恢复成功。
右键选择“还原数据库”或“还原文件和文件组”也可以还原数据库。
还原操作结果如图所示。