在不使用 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 数据库文件? [数据夹]的主要内容,如果未能解决你的问题,请参考以下文章

WinInet 可以在不重新开始的情况下恢复文件下载吗?

如何在不挂起的情况下返回并恢复我的应用程序?

停止监视 SSMS 中注册服务器的 SQL 服务

如何在不选择 RichTextBox 的情况下恢复插入符号位置或更改文本颜色

SQL Server:启用没有 SSMS 的远程连接

如何在不删除最新提交的情况下恢复到上一个​​提交?