servidor new linked crear consulta sql-server tsql linked-server

sql-server - new - openquery sql server



¿Existe una prueba "SI EXISTE" para un servidor vinculado? (2)

Comprobar en sys.servers :

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

Quiero poder programar (en T-SQL) verificar si ya existe un servidor vinculado específico para mi servidor y base de datos actuales (de modo que si el enlace aún no existe, puedo crearlo). Intenté cosas como esta:

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''

Pero la prueba OBJECT_ID siempre devuelve null, incluso si el enlace ya existe. ¿Hay alguna manera de hacer esta comprobación en T-SQL, para que el resto de mi código pueda suponer que el enlace siempre existe?


IF NOT EXISTS ( SELECT TOP (1) * FROM sysservers WHERE srvname = ''myserver/devdb_1'' )