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

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


当前回答

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

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

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

其他回答

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

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

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

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

安装:

npm install -g sql-bak-restore

用法:

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

参数:

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

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

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

简单地使用

sp_restoredb“您的数据库名称”,“您想要恢复的位置”

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

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

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

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