2012-10-22 79 views
1

有沒有辦法強制SQL Server 2008R2創建存儲過程,其中包含鏈接服務器查詢,其中鏈接服務器不存在或存在但沒有數據源。忽略編譯錯誤 - CREATE PROCEDURE WITH body

我完全意識到這聽起來有多愚蠢,但公司政策是將所有數據庫對象(包括SP)部署到所有服務器上的所有數據庫。但是在這種情況下,我無法在所有服務器上創建鏈接服務器。

返回的錯誤是

消息7314,級別16,狀態1,過程TestLinkedSever,第23行的 OLE DB提供程序 「SQLNCLI10」 鏈接服務器 「LinkedServer」 不 包含表 「」數據庫 「 」DBO「。 」表「」。該表或者 不存在,或者當前用戶對該表沒有權限。

+2

不是每一個愚蠢都可以通過技術來抵消。你需要報告他們想要的是不實際的(例如,@ SpectralGhost的回答是將其全部轉換爲運行時解釋的字符串) –

回答

0

我建議使存儲過程基於動態SQL並將服務器名稱存儲在表中。我參與了一些項目,我們必須修復鏈接的服務器名稱,因爲公司標準強化了升級時的名稱更改。這並不好玩。