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

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


当前回答

尽管在许多答案中所述,使用SSMS恢复数据库要容易得多。 例如,您还可以使用.bak和SQL server查询来恢复数据库

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

在上面的查询中,您需要记住.mdf/。LDF文件位置。 可能会出现错误

C:\PROGRAM FILES\MICROSOFT SQL SERVER\MSSQL.1\MSSQL\DATA\AdventureWorks. sqlerrorMDF“失败,操作系统错误3(系统无法找到指定的路径。)。(Microsoft.SqlServer.SmoExtended)

因此,您需要运行Query,如下所示

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

来源:恢复数据库从。bak文件在SQL服务器(有&没有脚本)

其他回答

这将显示一个包含在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'

而不是选择恢复数据库…,选择“恢复文件和文件组…”

然后输入一个数据库名称,选择.bak文件路径作为源,选中restore复选框,然后单击Ok。如果.bak文件有效,它将工作。

(SQL Server恢复选项名称不直观,这应该是一个非常简单的任务。)

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

免责声明:我是ApexSQL的产品支持工程师

在SQL Server Management Studio上

右击左窗格中的数据库(对象资源管理器) 单击恢复数据库… 选择“设备”,单击“…”,并添加你的.bak文件 单击“确定”,然后再次单击“确定”

完成了。

尽管在许多答案中所述,使用SSMS恢复数据库要容易得多。 例如,您还可以使用.bak和SQL server查询来恢复数据库

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

在上面的查询中,您需要记住.mdf/。LDF文件位置。 可能会出现错误

C:\PROGRAM FILES\MICROSOFT SQL SERVER\MSSQL.1\MSSQL\DATA\AdventureWorks. sqlerrorMDF“失败,操作系统错误3(系统无法找到指定的路径。)。(Microsoft.SqlServer.SmoExtended)

因此,您需要运行Query,如下所示

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

来源:恢复数据库从。bak文件在SQL服务器(有&没有脚本)