sql-server - 失去与映射网络驱动器的连接后恢复远程数据库
问题描述
我在本地 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 DATABASE
因DBCC CHECKDB
相同的错误而被拒绝。
所以唯一有帮助的是:重新启动 SQL Server,映射网络驱动器,DBCC CHECKDB。
所以问题是:在网络故障或远程主机重新启动后,有没有一种恢复“可见工作”数据库的好方法?使用包含的 SSMS。
这里有一个类似的问题,但我不确定如何执行第 3 步,以及它是否是在这种情况下恢复数据库的唯一方法。