“逻辑文件‘电影’不是数据库的一部分”

问题描述 投票:0回答:1

通常,当我需要进行手动更改时,我只需备份名为 Movies 的 SQL Server Management Studio 2012 数据库,然后将其上传到我的主机,然后使用其恢复功能来实现它。

我仍处于测试阶段,因此不需要保留在线获取的数据,但是我今天想尝试保留数据,所以我使用了主机的备份选项,为我创建了一个 DB_76779_test_backup.bak 文件。

然后我下载了这个并“尝试”将其信息更新到我的机器上的 SQL 数据库(Movie),我相信这是我搞砸了一切的地方。

我记得我右键单击我的数据库“电影”并选择“任务 - >恢复 - >数据库”,我将所有内容保持原样,但是对于

Source
我选择了设备然后选择了
DB_76779_test_backup.bak
文件并在下面选择“电影”作为数据库并单击“确定”。

enter image description here

这似乎工作正常,所以我打开并编辑了需要更改的表值。然后像往常一样,我只是备份它,将其通过 FTP 传输到主机,并恢复我的数据库。

但是,当我尝试恢复时出现错误,我的支持人员告诉我以下信息。

“逻辑文件‘Movies’不是数据库‘DB_76779_test’的一部分。使用 RESTORE FILELISTONLY 以列出逻辑文件名。”

恐怕我们只支持只包含 1 个的数据库的恢复 .mdf 文件和 1 个 .ldf 文件,没有额外的分区。

我假设,因为这次我做的唯一不同的事情是在我的计算机上恢复我的数据库,所以我以某种方式破坏了它,或者创建了超过 1 个 mdf 和 ldf 文件(不知道这些文件是什么)。我想做的就是保持实际数据在线,所以我什至不确定这是否是正确的方法,但无论如何我现在无法恢复主机上的数据库..

我犯了什么错误?我只了解数据库的基本水平,对“幕后”机制了解不多。

sql sql-server database database-restore
1个回答
0
投票

SSMS 对话框有时有点难以使用。您似乎想将数据库重命名为 Movies。问题是当您更改名称字段时,它不会更新用于文件的逻辑名称。 IIRC 只需切换到左侧的“文件”“选项卡”即可更新它,然后您就可以正常恢复。或者使用“旧”名称进行还原,然后在还原后命名数据库。

© www.soinside.com 2019 - 2024. All rights reserved.