258

我有一个带有.bak扩展名的文件。

如何将此日期导入 SQL Server 中的数据库?

4

12 回答 12

298

SQL Server Management Studio上

  1. 右键单击左窗格上的数据库(对象资源管理器)
  2. 单击还原数据库...
  3. 选择Device,单击...,然后添加您的.bak文件
  4. 单击OK,然后再次单击OK

完毕。

于 2015-05-20T00:03:09.117 回答
50

.bak 文件是数据库备份。您可以使用以下方法恢复备份:

如何:还原数据库备份 (SQL Server Management Studio)

于 2009-10-08T06:27:09.453 回答
42

这将显示 DB.bak 中包含的数据库文件列表:

RESTORE FILELISTONLY 
FROM DISK = 'D:\3.0 Databases\DB.bak' 

您将需要该列表中的逻辑名称用于MOVE第二步中的操作:

RESTORE DATABASE YourDB
FROM DISK = 'D:\3.0 Databases\DB.bak' 

并且您必须使用移动适当的 mdf、ndf 和 ldf 文件

With Move 'primarydatafilename' To 'D:\DB\data.mdf', 
Move 'secondarydatafile' To 'D:\DB\data1.ndf', 
Move 'logfilename' To 'D:\DB\log.ldf'
于 2009-10-08T06:51:21.380 回答
29

您可以使用本机 SQL Server 方法简单地恢复这些数据库备份文件,或者您可以使用ApexSQL 恢复工具快速虚拟附加文件并将它们作为完全恢复的数据库进行访问。

免责声明:我在 ApexSQL 担任产品支持工程师

于 2014-07-25T15:07:22.703 回答
21

不要选择恢复数据库...,而是选择恢复文件和文件组...

然后输入数据库名称,选择您的 .bak 文件路径作为源,选中还原复选框,然后单击确定。如果 .bak 文件有效,它将起作用。

(对于一个非常简单的任务,SQL Server 还原选项名称并不直观。)

于 2014-02-19T16:45:49.963 回答
8

在 Microsoft SQL Server Management Studio 2019 上:

在此处输入图像描述

在“还原数据库”窗口中:

  1. 选择设备

  2. 选择添加并选择目标文件

  3. 确定确认

  4. OK 确认恢复

在此处输入图像描述

于 2020-03-18T13:33:44.737 回答
7
  1. 连接到要存储数据库的服务器
  2. 右键单击数据库
  3. 点击恢复
  4. 选择源部分下的设备单选按钮
  5. 单击添加。
  6. 导航到存储 .bak 文件的路径,选择它并单击确定
  7. 输入数据库的目的地
  8. 输入您要存储数据库的名称
  9. 点击确定

完毕

于 2015-12-30T06:34:25.430 回答
4

只需使用

sp_restoredb '您的数据库名称' ,'您要恢复的位置'

示例:sp_restoredb 'omDB','D:\abc.bak'

于 2017-03-17T10:35:28.347 回答
4
  1. 将备份的 .bak 文件复制到电脑的以下位置:C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA
  2. 连接到要存储数据库的服务器
  3. 右键单击数据库
  4. 点击恢复
  5. 选择源部分下的设备单选按钮
  6. 单击添加。
  7. 导航到存储 .bak 文件的路径,选择它并单击确定
  8. 输入数据库的目的地
  9. 输入您要存储数据库的名称
  10. 点击确定

上述解决方案错过了保存备份 (.bak) 文件的位置。这应该可以解决问题。它对我有用。

于 2017-01-27T07:50:49.073 回答
2

尽管如许多答案中所述,使用 SSMS 还原数据库要容易得多。您还可以使用带有 SQL 服务器查询的 .bak 来恢复数据库,例如

RESTORE DATABASE AdventureWorks2012 FROM DISK = 'D:\AdventureWorks2012.BAK'
GO

在上面的查询中,您需要记住 .mdf/.ldf 文件位置。你可能会得到错误

System.Data.SqlClient.SqlError: 文件“C:\PROGRAM FILES\MICROSOFT SQL SERVER\MSSQL.1\MSSQL\DATA\AdventureWorks.MDF”的目录查找失败,出现操作系统错误 3(系统找不到路径指定的。)。(Microsoft.SqlServer.SmoExtended)

所以你需要运行查询如下

RESTORE FILELISTONLY 
FROM DISK = 'D:\AdventureWorks2012.BAK'

一旦你将在查询上运行,你将获得 mdf/ldf 的位置使用它使用查询恢复数据库

USE MASTER
GO
RESTORE DATABASE DBASE 
FROM DISK = 'D:\AdventureWorks2012.BAK'
WITH 
MOVE 'DBASE' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.DBASE\MSSQL\DATA\DBASE.MDF',
MOVE 'DBASE_LOG' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.DBASE\MSSQL\DATA\DBASE_1.LDF', 
NOUNLOAD,  REPLACE,  NOUNLOAD,  STATS = 5
GO

来源:从 SQL Server 中的 .bak 文件恢复数据库(带和不带脚本)

于 2020-10-22T12:38:26.490 回答
0

如果在开发过程中经常需要恢复数据库,可以使用 node 包。

安装:

npm install -g sql-bak-restore

用法:

sql-bak-restore <bakPath> <dbName> <oldDbName> <owner>

论据:

  • bakpath,文件的相对或绝对路径
  • dbName,要恢复到哪个数据库(!!如果存在该名称的数据库将被删除!!)
  • oldDbName,数据库名称(如果您不知道,请指定一些内容并运行,运行后您将看到可用的数据库。)
  • owner, userName 给他 db_owner 权限(密码“1”)

!!sqlcmd命令行实用程序应该在您的 PATH 变量中。

https://github.com/vladimirbuskin/sql-bak-restore/

于 2016-06-07T09:18:41.460 回答
0
How to restore a database from backup using SQL Server Management Studio 2019

If you have SQL Server Management Studio installed, you can restore database backup using its interface alone. Just follow the instructions:

1. Connect to your SQL Server and right-click on the “Databases” directory and choose “Restore Database”
for more info follow the below link
https://sqlbackupandftp.com/blog/restore-database-backup
于 2021-01-28T08:26:47.383 回答