sql-server - SQL 服务器 : force Backup/Restore location

标签 sql-server backup restore

使用 BACKUP DATABASE 命令在笔记本电脑上复制了一个 SQL Server Express 数据库,现在我正尝试使用 T-SQL 语句将它恢复到另一台计算机:

RESTORE DATABASE [OurDB]
FROM DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part1.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part2.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part3.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part4.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part5.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part6.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part7.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part8.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part9.bak',
DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part10.bak'
WITH REPLACE
GO

但是当它试图恢复时我得到了错误

Msg 5133, Level 16, State 1, Line 1
Directory lookup for the file "c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\AppConfig_Data.ndf" failed with the operating system error 3 (failed to retrieve text for this error. Reason: 1815).

还有其他几个,都是类似的错误。问题是 SQL Server 似乎正在尝试将数据库还原到目录 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\,即源计算机上的数据目录备份取自。

但是在新电脑上我要恢复到SQL Server的数据路径是C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA

如何更改数据文件中的路径以使其恢复到正确位置?

最佳答案

您需要向 RESTORE 命令添加额外的信息来定义这些位应该去哪里 - 类似于:

RESTORE DATABASE [OurDB]
FROM DISK = N'C:\Documents and Settings\Sam\Desktop\DBBackup\part1.bak',
MOVE N'Your_Data' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\OurDB.mdf',  
MOVE N'Your_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\OurDB_Log.ldf'

关于sql-server - SQL 服务器 : force Backup/Restore location,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7089307/

相关文章:

visual-studio - 将 Visual Studio 项目另存为新名称

postgresql - 如何在 docker 中恢复 postgres?

c# - 使用 sql server 作业代理运行 .exe 时访问被拒绝

linux - 仅通过 FTP 访问获取服务器信息

java - 备份变量

从命令行备份和恢复 MySQL

installation - 从命令 : ado dir 生成的列表中重新安装软件包

java - 使用 Maven 构建的可执行 Jar 无法在运行时解决多个数据库驱动程序的依赖关系

sql - 带有特定分隔符的总时间

sql - 为什么要执行表扫描?