我有一个带有.bak
扩展名的文件。
如何将此日期导入 SQL Server 中的数据库?
在SQL Server Management Studio上
完毕。
.bak 文件是数据库备份。您可以使用以下方法恢复备份:
这将显示 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'
您可以使用本机 SQL Server 方法简单地恢复这些数据库备份文件,或者您可以使用ApexSQL 恢复工具快速虚拟附加文件并将它们作为完全恢复的数据库进行访问。
免责声明:我在 ApexSQL 担任产品支持工程师
不要选择恢复数据库...,而是选择恢复文件和文件组...
然后输入数据库名称,选择您的 .bak 文件路径作为源,选中还原复选框,然后单击确定。如果 .bak 文件有效,它将起作用。
(对于一个非常简单的任务,SQL Server 还原选项名称并不直观。)
完毕
只需使用
sp_restoredb '您的数据库名称' ,'您要恢复的位置'
示例:sp_restoredb 'omDB','D:\abc.bak'
上述解决方案错过了保存备份 (.bak) 文件的位置。这应该可以解决问题。它对我有用。
尽管如许多答案中所述,使用 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
如果在开发过程中经常需要恢复数据库,可以使用 node 包。
安装:
npm install -g sql-bak-restore
用法:
sql-bak-restore <bakPath> <dbName> <oldDbName> <owner>
论据:
!!sqlcmd命令行实用程序应该在您的 PATH 变量中。
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