忽略编译错误 - 无论如何都使用body创建PROCEDURE

时间:2012-10-22 13:49:46

标签: sql sql-server-2008-r2 linked-server

有没有办法强制SQL Server 2008R2创建一个存储过程,其中包含链接服务器查询,其中链接服务器不存在,或者存在但没有数据源。

我完全清楚这听起来多么愚蠢,但公司政策是将所有数据库对象(包括SP)部署到所有服务器上的所有数据库。但是在这种情况下,我无法在所有服务器上创建链接服务器。

返回的错误是

  

Msg 7314,Level 16,State 1,Procedure TestLinkedSever,Line 23 The   链接服务器“LinkedServer”的OLE DB提供程序“SQLNCLI10”没有   包含表“”数据库“。”dbo“。”table“”。表也​​是如此   不存在或当前用户没有该表的权限。

1 个答案:

答案 0 :(得分:0)

我建议使存储过程动态基于SQL并将服务器名称存储在表中。我参与过必须修复链接服务器名称的项目,因为公司标准在升级时强制更改了名称。这不好玩。