是否有一个用于链接服务器的"IF EXISTS"测试?
是否有一个用于链接服务器的"IF EXISTS"测试?
我想通过编程的方式(使用T-SQL)检查当前服务器和数据库是否已经存在特定的链接服务器(以便如果链接尚不存在,我可以创建它)。我尝试过类似以下的代码:\n
IF OBJECT_ID('myserver\devdb_1') IS NULL BEGIN PRINT '不存在,需要创建链接' EXEC master.dbo.sp_addlinkedserver @server = N'myserver\devdb_1', @srvproduct=N'SQL Server' END ELSE PRINT '链接已经存在'
\n但是,OBJECT_ID测试始终返回null,即使链接已经存在。有没有办法在T-SQL中进行此检查,以便我代码的其余部分可以假定链接始终存在?
在这段对话中,用户询问是否有一个用于链接服务器的"IF EXISTS"测试。他们之前提供了一个查询语句,用于检查名为'myserver\devdb_1'的链接服务器是否存在。用户还注意到了两个表的名称不同,一个是'sysservers',另一个是'sys.servers'。他们希望了解这两者之间的区别。
回答者提供了一个链接,指向了Microsoft的文档,解释了这两个表的区别。他们解释说'sysservers'是一个表,被认为是"旧的方式",而'sys.servers'是一个系统视图,被推荐使用的方法。
基于这些信息,我们可以整理出以下文章:
---
有没有一个用于链接服务器的"IF EXISTS"测试?
用户提出了一个关于链接服务器的问题。他们想知道是否有一种方法可以测试链接服务器是否存在。他们展示了一个查询语句,用于检查链接服务器名为'myserver\devdb_1'是否存在。此外,他们还注意到了两个表的名称不同,分别是'sysservers'和'sys.servers',并对它们之间的区别表示了好奇。
回答者给出了答案,并提供了一个链接,指向了Microsoft的文档。根据回答者的解释,'sysservers'是一个表,被认为是"旧的方式",而'sys.servers'是一个系统视图,被推荐使用的方法。
如果你对此感兴趣,可以点击这里阅读更多关于这两个表的信息。
---
注意:由于原内容中没有提到解决方法,所以文章中也没有包含解决方法的部分。