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