Существует ли, “ЕСЛИ СУЩЕСТВУЕТ” тест для связанного сервера?

Я хочу смочь к программно (в 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 всегда возвращает пустой указатель, даже если ссылка уже существует. Какой-либо способ сделать эту регистрацию T-SQL, так, чтобы остальная часть моего кода могла принять ссылку всегда, существует?

40
задан SteveC 9 May 2018 в 14:15
поделиться

2 ответа

Проверка в sys.servers:

if not exists(select * from sys.servers where name = N'myserver\devdb_1')
84
ответ дан 27 November 2019 в 01:17
поделиться
IF NOT EXISTS ( SELECT TOP (1) * FROM sysservers WHERE srvname = 'myserver\devdb_1' )
19
ответ дан 27 November 2019 в 01:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: