SQL Server 2014 数据库数据库备份恢复和一个3154错误解决方法

2017-12-07 12:17:12来源:oschina作者:白豆腐徐长卿人点击

分享

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
ONPRIMARY
( 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_DEFAULTGLOBAL
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] SETDISABLE_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] SETREAD_WRITE
GO
ALTER DATABASE [AdventureWorks2014] SET RECOVERY FULL
GO
ALTER DATABASE [AdventureWorks2014] SETMULTI_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' FROMDISK = N'D:/Adventure Works 2014 Full Database Backup/AdventureWorks2014.bak' WITHFILE = 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= 成功处理了 24252 页,花费 3.086 秒(61.394 MB/秒)。
#查询已成功执行

恢复成功。


右键选择“还原数据库”或“还原文件和文件组”也可以还原数据库。


还原操作结果如图所示。


还原成功

相关文章

    无相关信息

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台