sql - 如何将 SQL Server 2012 数据库复制到 localdb 实例?

标签 sql sql-server sql-server-2012 localdb

我希望将 SQL Server 2012 Standard 数据库复制到我的 localdb 实例。我尝试过的向导提示 localdb 不是 SQL Server 2005 或更高版本的 Express 实例。我还进行了备份/恢复,但是在我的 localdb 中恢复时出现以下错误...

运行这个...

RESTORE DATABASE CSODev
FROM DISK = 'C:\MyBckDir\CSODev.bak'
WITH MOVE 'CSOdev_Data' TO 'C:\Users\cblair\CSOdev_Data.mdf',
MOVE 'CSOdev_Log' TO 'C:\Users\cblair\CSOdev_Log.ldf',
REPLACE

我收到错误消息...

Processed 8752 pages for database 'CSODev', file 'CSOdev_Data' on file 1.
Processed 5 pages for database 'CSODev', file 'CSOdev_Log' on file 1.

Msg 1853, Level 16, State 1, Line 1
The logical database file 'CSOdev_Log' cannot be found. Specify the full path for the file.
Msg 3167, Level 16, State 1, Line 1
RESTORE could not start database 'CSODev'.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

数据库最终处于“恢复待定”模式。日志文件似乎有问题。我已经尝试了 2 个不同的备份,以防其中一个备份损坏。

最佳答案

known limitation (事实上​​,这是一个真正的错误)对于 localDB。当您的数据库文件位于不同的文件夹中时,使用 MOVE 进行的任何 RESTORE 操作都会失败。

您必须在原始文件夹中恢复(无移动)。如果需要伪造驱动器:/路径,请使用 SUBST 等 cmd 工具。

关于sql - 如何将 SQL Server 2012 数据库复制到 localdb 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13126726/

相关文章:

sql - 确定最小连续年份范围的第一年和连续年份计数

windows-server-2008 - SSMS 2012 无法加载数据库

mysql - 计数查询的未知列

python - 当任何列中存在其他表中的单词时,过滤掉 Pyspark 中的行

sql - 使用排列表来填补空白

SQL 子查询/连接

java - 如何修复 hibernate hbm.xml 文件以使复合主键正常工作? (映射异常)

sql - 多个表中的唯一 ID [MySQL]

sql-server - 数据库 'xxx' 无法打开,因为它是版本 904

sql-server-2012 - BCP 导入错误 "Invalid character value for cast specification"