sql-server - 是否有针对链接服务器的 "IF EXISTS"测试?

标签 sql-server tsql linked-server

我希望能够以编程方式(在 T-SQL 中)检查当前服务器和数据库是否已存在特定的链接服务器(这样,如果链接尚不存在,我可以创建它)。我尝试过这样的事情:

IF OBJECT_ID('myserver\devdb_1') IS NULL
BEGIN
  PRINT 'Does not exist, need to create link'
  EXEC master.dbo.sp_addlinkedserver @server = N'myserver\devdb_1', 
                                     @srvproduct=N'SQL Server'
END
ELSE
  PRINT 'Link already exists'

但 OBJECT_ID 测试始终返回 null,即使链接已存在。有什么方法可以在 T-SQL 中执行此检查,以便我的代码的其余部分可以假设链接始终存在?

最佳答案

签到sys.servers :

if not exists(select * from sys.servers where name = N'myserver\devdb_1')

关于sql-server - 是否有针对链接服务器的 "IF EXISTS"测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3104186/

相关文章:

mysql - 设置从 Microsoft SQL Server Management Studio 到 MySQL Amazon Web Services MySQL RDS 的链接服务器连接?

sql-server - 获取链接服务器中插入行标识的最佳方法?

sql - 如何从 SQL Server 中的字符串中删除空格字符

sql - 存储过程中的值转换

c# - SSIS:以编程方式获取 Excel 文件工作表

sql-server - 来自 SQL Server 数据库错误的 Laravel UUID

sql-server - 如何在sql server中选择与Only IN List匹配的项目

sql-server-2008-r2 - 带有 filemaker 的 SQL 链接服务器

c# - 检查针对 SQL Server 数据库的 LINQ 查询

sql-server - SSIS 舍入数为 2