首页 > 解决方案 > 失去与映射网络驱动器的连接后恢复远程数据库

问题描述

我在本地 MS SQL Server 上有一个远程数据库。该数据库通过代码 a-la 位于网络路径上:

EXEC XP_CMDSHELL 'net use H: \\RemoteServerName\ShareName'

远程主机重新启动后,本地服务器将返回

操作系统在读取文件中偏移量 0x00000000056000 时向 SQL Server 返回错误 59(发生意外网络错误。)...

但是服务器还是认为这个BD在线!

第一次尝试是重置映射驱动器:

EXEC XP_CMDSHELL 'net use * /delete /y'
EXEC XP_CMDSHELL 'net use H: \\RemoteServerName\ShareName'

它没有帮助。好吧,它恢复了映射,但不是数据库连接。

任何对 , 等的尝试都ALTER DATABASEDBCC CHECKDB相同的错误而被拒绝。

所以唯一有帮助的是:重新启动 SQL Server,映射网络驱动器,DBCC CHECKDB。

所以问题是:在网络故障或远程主机重新启动后,有没有一种恢复“可见工作”数据库的好方法?使用包含的 SSMS。

这里有一个类似的问题,但我不确定如何执行第 3 步,以及它是否是在这种情况下恢复数据库的唯一方法。

标签: sql-server

解决方案


推荐阅读