Usiłuję utworzyć serwer połączony w wystąpieniu programu SQL Server 2014 servername\instancename
za pomocą następującego wywołania:
EXEC master.dbo.sp_addlinkedserver
@server = N'servername\instancename',
@srvproduct=N'SQL Server'
Pojawia się błąd:
Msg 15028, Level 16, State 1, Procedure sp_addlinkedserver, Line 82
The server 'servername\instancename' already exists.
Działa to dobrze w SQL Server 2005 i zgodnie z MSDN ,
Połączony serwer nie musi być kolejną instancją SQL Server,
Nie jestem więc pewien, co zmieniło się w ostatnich wersjach, które to uniemożliwiają. Korzystanie z interfejsu użytkownika generuje podobny komunikat:
Nie można utworzyć lokalnego serwera SQL jako serwera połączonego.
Rozumiem, że prośba jest dziwna, ale obsługuje stary kod, który działał w 2005 roku (i był w osobnych instancjach). Dokumentacja mówi, że to powinno działać, ale nie działa. Czy istnieje sposób, aby to zadziałało w 2014 roku, czy też będę musiał zmodyfikować kod źródłowy?
sql-server
linked-server
sql-server-2014
mathewb
źródło
źródło
Odpowiedzi:
Okazuje się, że udało mi się sprawić, by działał z różnymi parametrami.
źródło
Zamiast zajmować się odniesieniami do serwerów połączonych w kodzie, warto rozważyć jednorazową inwestycję w kod, polegającą na użyciu synonimu w dowolnym miejscu, w którym aktualnie masz połączony serwer.
Więc zamiast:
Masz synonim:
Zatem twój kod jest po prostu:
Następnie, jeśli obiekty zostały przeniesione na różne serwery, po prostu upuszczasz i ponownie tworzysz synonimy i nie musisz dotykać kodu:
źródło
Uruchom to polecenie - będziesz mógł używać serwera lokalnego jako serwera połączonego bez potrzeby zmiany kodu
źródło