1

我有一个 .bak 文件(SQL Server 2008),其中包含 2 个 mdf 和 2 个 ldf 文件。

当我尝试从中恢复数据库时,它会创建所有 4 个文件。

我以前从未见过这种情况,想知道如何使用旧的 1 文件对系统(1 mdf/1 ldf)?

对备份中的 2 个文件对的任何见解也将有所帮助。

ps:我的设置没有任何Ndf文件,都是Mdf

4

2 回答 2

2

听起来您需要将数据从辅助 mdf(不是 ndf 吗?)移动到第一个。这一切都假设您已经完成了恢复。

假设您的 2 个文件是m1m2.

用于DBCC SHRINKFILE移动和清空您的 ndf。

--move all data out of this file
DBCC SHRINKFILE ('m2', EMPTYFILE )

您可能必须在单用户模式下重新启动 SQL Server。(来源

--if trying to delete LDF file, do a Transaction log backup of your DB now

--remove this file from the 
ALTER DATABASE DB_NAME_HERE_NO_QUOTES REMOVE FILE m2
于 2010-12-22T19:47:37.600 回答
1

在数据库中使用多个文件有助于将数据库分布在多个磁盘驱动器上。

还原数据库时不能更改文件的数量,但可以指明文件的还原位置。查看RESTORE DATABASE命令,MOVE 选项。

数据库还原后,您可以删除数据库文件。您必须使用清空文件的选项来缩小文件。然后,您可以使用ALTER DATABASE命令删除该文件。

于 2010-12-22T19:45:13.590 回答