Ответ 1
Зайдите в sys.servers
:
if not exists(select * from sys.servers where name = N'myserver\devdb_1')
Я хочу иметь возможность программно (в 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')
IF NOT EXISTS ( SELECT 1 FROM sysservers WHERE srvname = 'myserver\devdb_1' )