Chcę móc programowo (w T-SQL) sprawdzić, czy określony serwer połączony już istnieje dla mojego bieżącego serwera i bazy danych (tak, że jeśli łącze jeszcze nie istnieje, mogę go utworzyć). Próbowałem rzeczy takie jak to:Serwer SQL: Czy istnieje test "IF EXISTS" dla połączonego serwera?
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'
Ale test OBJECT_ID zawsze zwraca wartość null, nawet jeśli łącze już istnieje. W jaki sposób można to sprawdzić w T-SQL, aby reszta kodu mogła założyć, że łącze istnieje?
Zasadniczo, prawie taka sama odpowiedź jak Remus Ruşanu, ja w górę głosowali ci obie, ale dało mu czek na tym linku. ;-) –
kudos @Ogre Psalm33;) –
Interesujące. Jaka jest różnica między 'sysservers' i' sys.servers'. Zauważyłem, że nazwy kolumn są różne! – seebiscuit