SQL Server 链接服务器回退


SQL Server Linked Server fallback

我有一个连接到SQL Server 2012 Express的Web应用程序,该应用程序使用我将要描述的资源。

我已经配置了一个指向 odbc DSN - MSDASQL 提供程序的链接服务器 atm(以及从该 lksv 收集的相当多的视图和存储过程)。

我想做的是使用相同类型的连接添加另一个链接服务器,并且每次对该服务器进行查询时,都使用sp_testlinkedserver拦截该查询,如果失败,则切换到另一个链接服务器(通过更改同义词指向链接服务器或其他东西)。

这可以从SQL Server上实现吗?我知道我可以通过网络应用程序(php)以某种方式对其进行编程,但我希望这件事是完全透明的。如果可能的话,我宁愿不修改每个视图和 sp。

如果要在 sql 服务器端提供自动故障转移,此计划应该可以解决问题。

永久运行 SQL 代理或在实际查询之前运行检查过程。它应该尝试访问链接服务器。如果它不可用,您可以删除并重新创建指向可用终结点的链接服务器。这样,您只需要指向始终可用的单个链接服务器 - 除了脱机的两个端点。