尝试将 SQL Server 2012 Express 还原到 2014

Posted

技术标签:

【中文标题】尝试将 SQL Server 2012 Express 还原到 2014【英文标题】:Trying to restore SQL Server 2012 Express to 2014 【发布时间】:2017-02-28 22:23:24 【问题描述】:

我在将数据库备份从当前主机 (SQL Server 2012 Express) 恢复到新主机 (SQL Server 2014) 时遇到问题。

我正在使用 MyLittleBackup,它正在报告以下错误。

它运行的脚本中似乎有重复的 MDF 文件。

为什么会有重复,我该如何解决?

.Net SqlClient 数据提供者

文件 'C:\Program Files\Microsoft SQL 服务器\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\rbkkipfb_xxx_data.mdf' 由“ftrow_Products and Brands”(3) 和“xxx_dat”(1) 声明。 WITH MOVE 子句可用于重定位一个或多个文件。文件 'C:\Program Files\Microsoft SQL 服务器\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\rbkkipfb_xxx_data.mdf' 由“ftrow_ProductsAndBrands”(4) 和“xxx_dat”(1) 声明。 WITH MOVE 子句可用于重定位一个或多个文件。 RESTORE DATABASE 异常终止。

使用 [master] 去

ALTER DATABASE [rbkkipfb_xxx] SET SINGLE_USER WITH ROLLBACK 马上去

恢复数据库 [rbkkipfb_xxx] FROM DISK=N'C:\inetpub\mylittlebackup\data\MLBUpload\MSSQL\rbkkipfb_xxx\636124445992698861_xxx.bak' WITH RECOVERY , FILE=1 , REPLACE , MOVE N'ftrow_ProductsAndBrands' TO N'C:\Program Files\Microsoft SQL 服务器\MSSQL10_50.MSSQLSERVER\MSSQL\DATA**rbkkipfb_xxx_data**.mdf' , MOVE N'ftrow_Products and Brands' TO N'C:\Program Files\Microsoft SQL 服务器\MSSQL10_50.MSSQLSERVER\MSSQL\DATA**rbkkipfb_xxx_data**.mdf' , MOVE N'xxx_dat' TO N'C:\Program Files\Microsoft SQL 服务器\MSSQL10_50.MSSQLSERVER\MSSQL\DATA**rbkkipfb_xxx_data**.mdf' , MOVE N'xxx_log' 到 N'C:\Program Files\Microsoft SQL 服务器\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\rbkkipfb_xxx_log.ldf' , NOUNLOAD, STATS = 10 GO

ALTER DATABASE [rbkkipfb_xxx] 修改文件 (NAME=N'ftrow_ProductsAndBrands', MAXSIZE=10485760KB) 去

ALTER DATABASE [rbkkipfb_xxx] 修改文件 (NAME=N'xxx_log', MAXSIZE=10485760KB) 去

ALTER DATABASE [rbkkipfb_xxx] SET MULTI_USER WITH ROLLBACK 马上去

编辑:我认为这是由于全文索引,没有它们我可以恢复吗?

【问题讨论】:

【参考方案1】:

我不得不用全文恢复数据库,我不知道有什么方法可以不恢复它们。

您可以尝试从源数据库备份中删除索引,进行另一个备份,然后进行还原。

【讨论】:

如何从源备份中删除,您是指 bak 文件吗?原始数据库不再可用... 哦。我不知道有办法做到这一点。我在想原来的数据库是可用的,你可以从中删除索引,并创建一个新的备份。 感谢您的回复...但是您是说数据库备份没有任何用处? 如果您需要先删除全文索引,那么我认为您不走运。我假设您尝试使用还原向导更改还原位置\文件名。 我无法使用可用的工具更改恢复选项,即使使用 SMSS,我也没有执行恢复和访问文件系统所需的权限。

以上是关于尝试将 SQL Server 2012 Express 还原到 2014的主要内容,如果未能解决你的问题,请参考以下文章

将数据库从 SQL Server 2012 转移到 SQL Server 2008 [关闭]

通过 Internet 连接到 SQL Server Express 2012

Sql Server 2008 视图中的 ORDER BY

SQL Server 2012,无法从 .bak 文件还原数据库

在 SQL Server 2012 中使用 Pivot 函数将行数据更改为列

在 SQL Server 2012 SSDT 解决方案中引用 CLR 项目