在不使用 SSMS 的情况下恢复 SQL Server 上的 .bak 数据库文件? [数据夹]
Posted
技术标签:
【中文标题】在不使用 SSMS 的情况下恢复 SQL Server 上的 .bak 数据库文件? [数据夹]【英文标题】:Restore .bak database file on SQL Server without using SSMS? [DataGrip] 【发布时间】:2019-02-22 20:36:45 【问题描述】:与 SSMS 相比,Datagrip 似乎并没有“恢复数据库”选项,因此显然唯一的方法是通过脚本。
我尝试了以下方法:
RESTORE FILELISTONLY
FROM DISK = 'C:\Users\Marcelo\Downloads\Northwind.bak'
GO
RESTORE DATABASE Northwind
FROM DISK = 'C:\Users\Marcelo\Downloads\Northwind.bak'
WITH
MOVE 'Northwind' TO 'C:\Program Files\Microsoft SQL Server\MSSQL14.LENOBRAC\MSSQL\DATA\Northwind.mdf',
MOVE 'Northwind_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL14.LENOBRAC\MSSQL\DATA\Northwind_log.ldf',
GO
[2019-02-22 15:29:41] 在 1 秒 117 毫秒内完成
控制台显示任务已经完成,没有问题,但是侧面资源管理器中没有出现数据库,我也无法选择任何表或执行任何操作,我只能删除数据库。
这可能是什么原因?
【问题讨论】:
暂时忽略侧边浏览器。恢复数据库后,执行这个USE Northwind
。你有错误吗?
[2019-02-22 15:51:55] 数据库上下文更改为“Northwind”。 [2019-02-22 15:51:55] 在 2 毫秒内完成(我没有收到任何错误)
所以数据库恢复成功。那么,您是否刷新了 SSMS 中的相关浏览器?
这不是 SSMS,但是我确实刷新了资源管理器,但没有任何运气
【参考方案1】:
试试吧,
USE [master]
RESTORE DATABASE Northwind
FROM DISK = N'C:\Users\Marcelo\Downloads\Northwind.bak'
WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5
GO
【讨论】:
[2019-02-22 15:56:41] 在目录中搜索“D:\MSSQLDataFiles\UNTC\DB_All\DB\NORTHWND.MDF”时出错 找出 .bak 文件的正确路径。作为你的问题,我复制了路径。你应该有正确的路径 我的 Northwind.bak 位于同一路径 [Users\Marcelo\Downloads\Northwind.bak] 原因是 .ldf 和 .mdf 已经相同了,所以你可以重命名或删除现有的 ldf 和 mdf 然后运行脚本。 我没有现有的相关 .Idf 和 .mdf,因为我在尝试这种新方法之前删除了数据库。【参考方案2】: 在资源管理器面板中右键单击主机名/数据源名称 转到数据库工具 您会找到一个名为管理显示的架构的选项,只需勾选 在您想查看的数据库旁边标记【讨论】:
以上是关于在不使用 SSMS 的情况下恢复 SQL Server 上的 .bak 数据库文件? [数据夹]的主要内容,如果未能解决你的问题,请参考以下文章