我嘗試了兩種方法來檢查鏈接服務器是否聯機,這同樣很慢。鑑於我必須有可能檢查配置的數百個這樣的鏈接服務器是否實際在線,我正在尋找更快的方式來檢查可用性。不幸的是,ping不是一種選擇,因爲這些服務器可能被防火牆屏蔽,只有數據庫端口被打開。SQL Server很慢檢查鏈接服務器是否在線
Select 1
Where Exists (Select COUNT(*)
From [LINK-RC].[DeltaV_KB].INFORMATION_SCHEMA.TABLES)
declare @retval bit
exec @retval = sys.sp_testlinkedserver [LINK-RC];
只是在連接過程中連接到服務器會更快還是開銷?根據我的經驗,鏈接服務器非常慢。 –
什麼可以幫助(從未測試過)正在調整[遠程登錄超時](https://msdn.microsoft.com/library/ms175136)(默認值爲10或20秒,具體取決於版本)。當心,很明顯,如果在糟糕的一天發生的事情有點緩慢,將其設置得非常低可能會導致不需要的超時。如果可能的話,嘗試在SQL Server之外執行此操作 - ping可能不起作用,但連接到端口1433以檢查它是否可用任何數量的工具完成,最顯着的是'nmap'(如果您的網絡管理員不拋出在它提到的一個hissy適合)。 –