我连接到 VPN。
我从本地计算机打开 SSMS。
我将本地计算机 SSMS 连接到 VPN 上的 SQL 实例
我从本地计算机执行长时间运行的 SQL 更新,在此期间发生 VPN 错误。
现在,SQL 更新的所有进展都将丢失。
有没有办法使用本地计算机连接到远程 SQL 实例,并让 SQL 更新完成,即使我断开连接。
我连接到 VPN。
我从本地计算机打开 SSMS。
我将本地计算机 SSMS 连接到 VPN 上的 SQL 实例
我从本地计算机执行长时间运行的 SQL 更新,在此期间发生 VPN 错误。
现在,SQL 更新的所有进展都将丢失。
有没有办法使用本地计算机连接到远程 SQL 实例,并让 SQL 更新完成,即使我断开连接。
据我所知,如果发出查询批处理的计算机与执行该批处理的服务器之间的连接断开,则服务器将终止该批处理。
正如评论所指出的,您最好的解决方案是从不太可能失去连接的计算机执行命令;不出所料,从服务器本身执行命令是尽可能安全的。
正如 sp_BlitzErik 所建议的,从 SQL Server 作业执行批处理是好的,当查询可以作为完全无人值守的进程安全地运行时,并且不应消耗过多的服务器资源。
如果一个过程需要在完成时进行简单的成功/失败之外的监控,那么最常见的解决方案可能是远程桌面连接。根据我们组织的安全限制,您有望被允许远程访问与服务器位于同一 LAN 上的另一台计算机(如果不是服务器本身,如果它不会造成太多资源消耗)。
如果您的 VPN 连接中断,远程服务器上的会话会继续运行——您只是失去了对它的可见性。当您重新建立 VPN 连接时,您可以重新连接到远程服务器,并查看断开连接时发生的情况。
如前所述,您希望确保您的远程连接没有消耗服务器所需的资源,并且所有必要的安全问题都得到处理。您不一定需要在服务器本身上;正如我所说,与服务器位于同一网络上的任何计算机都可以,只要它具有发出查询所需的软件。
在过去的几年中,我曾从事过几个需要每隔一个周末或三个甚至三个周末中的两个长周末的项目,持续数月之久。来自家中的远程桌面连接让生活变得更加轻松(并且比基本上住在我的小隔间里更合适:-))。
2个选项:
除了 SQL Agent 的工作(这很好,只要你不必跟踪当前状态,也不必调试),我在办公室使用台式机,离服务器机房不远。通过 VPN 在家工作时,我使用远程桌面在台式 PC 上工作。
在我之前的工作中,我们有一个 Citrix 解决方案,只要没有对 SSMS 进行太多升级,它也能很好地工作。