如何将 bak 文件导入 SQL Server Express

Posted

技术标签:

【中文标题】如何将 bak 文件导入 SQL Server Express【英文标题】:How to import a bak file into SQL Server Express 【发布时间】:2013-12-30 10:29:22 【问题描述】:

我有一个.bak 文件,我想使用该文件在全新安装的 SQL Server 2008 Management Studio 中重新创建数据库。

有人可以为我指出正确的方向吗?

我试过了:

    右键单击对象资源管理器中的数据库容器

    从上下文菜单中选择恢复数据库

    将数据库指定为新数据库或现有数据库

    指定从设备恢复的源

    选择备份媒体作为文件

    单击“添加”按钮并浏览到 BAK 文件的位置

但我得到的错误是

服务器“MyServer-PC”的恢复失败。 (Microsoft.SqlServer.SmoExtended)

附加信息:

System.Data.SqlClient.SqlError:备份集包含一个数据库的备份,而不是现有的“发明”数据库。 (Microsoft.SqlServer.Smo)

【问题讨论】:

在你的sql管理上右键DataBases Node并选择restore Database。 是的,我做了,但出错了。查看我修改后的问题 在显示 .bak 文件后的还原数据库屏幕中转到选项并选择替换。 【参考方案1】:

有分步说明(附图)可@Restore DataBase

    点击开始,选择所有程序,点击Microsoft SQL Server 2008并选择SQL Server Management Studio强>. 这将打开连接到服务器对话框。 确保服务器名称 YourServerName 并且 Authentication 设置为 Windows Authentication。 点击连接

    在右侧,右键单击数据库并选择恢复数据库。 这将打开恢复数据库窗口

    恢复数据库屏幕上,选择从设备单选按钮并点击“...”框。 这将打开指定备份屏幕

    指定备份屏幕上,点击添加。 这将调出找到备份文件

    选择 DBBackup 文件夹并选择您的备份文件。

    恢复数据库屏幕上,在选择要恢复的备份集下:勾选恢复框,在您的数据旁边和下拉菜单中- 在 To database 旁边向下:选择 DbName

    你已经完成了。

【讨论】:

这对我来说是正确的事情......除了我浪费了一些时间,直到一个同事告诉我要加载的实际 .bak 文件必须是在C:\Program Files\Microsoft SQL Server\MSSQL.15.SQLEXPRESS\MSSQL\Backup 文件夹中。只有这样我才能完成你的第 5 步。只是说,以防其他人被困在那里。谢谢! 谢谢@JoséL.Patiño,你拯救了我的一周。【参考方案2】:

要通过 TSQL(ssms 查询窗口或 sqlcmd.exe)执行此操作,只需运行:

RESTORE DATABASE MyDatabase FROM DISK='c:\backups\MyDataBase1.bak'

要通过 GUI 执行此操作 - 打开 SSMS,右键单击数据库并按照以下步骤操作

【讨论】:

RESTORE 命令选项上的几个 cmets:从主数据库执行此操作。湾。请注意,文件名的单引号非常重要 - 双引号在 SQL Server Management Studio 中具有不同的含义。叹。 C。如果您从不同版本的数据库引擎(例如 SQL 2017 -> SQL 2019)恢复,您将需要手动创建目标目录并明确授予它们权限。双重叹息。 (见***.com/questions/36602930)【参考方案3】:

使用管理工作室的过程可以完成如下

    右键单击对象资源管理器中的数据库容器 从上下文菜单中选择恢复数据库 将数据库指定为新数据库或现有数据库 指定从设备还原的源 选择备份媒体作为文件 单击“添加”按钮并浏览到 BAK 文件的位置

refer

您需要指定 WITH REPLACE 选项以使用从不同数据库获取的备份覆盖现有的 Adventure_second 数据库。

单击选项菜单并勾选覆盖现有数据库(替换)

Reference

【讨论】:

@Ashok_Karale 现在点击参考链接。它可能有用【参考方案4】:

我有同样的错误。对我有用的是,当您选择 SMSS GUI 选项时,请查看“选项”设置中的“常规”、“文件”。 在我这样做之后(更换数据库,设置位置)一切顺利。

【讨论】:

【参考方案5】:

从备份中恢复数据库

sql-server-->connect to instance-->Databases-->right-click on databases-->Restore
            DataBase..-->Device-->Add-->choose the path_filename(.bak)-->click OK

【讨论】:

哎呀!我没有检查错误,您是否尝试在 msdn 博客上搜索错误消息?

以上是关于如何将 bak 文件导入 SQL Server Express的主要内容,如果未能解决你的问题,请参考以下文章

如何将SQL Server备份文件导入现存数据库

如何调用远程 T-SQL 过程将远程 .bak 数据库文件恢复到远程 SQL Server 实例?

怎么把sql server 2008 备份文件bak还原?

SQL Server--SQL Server数据库bak文件还原

sqlserver2000怎么打开DB文件

sql server 2008还原bak文件时提示磁盘空间不足