Linkowanie serwerów w SQL Server

W przypadku, gdy chcemy skorzystać z danych zawartych w innej bazie danych na tym samym serwerze, odwołujemy się do danych używając odpowiedniego suffixu z nazwą bazy:

SELECT * FROM BAZA_DANYCH.SCHEMAT.TABELA

W przypadku, gdy chcemy skorzystać z danych zawartych na zewnętrznym serwerze SQL Server, najprostszą metodą jest podlinkowanie zewnętrznego serwera baz danych. Aby to zrobić, pierwszej kolejności musimy zdefiniować nasz zewnętrzny serwer podając jego pełną nazwę:

USE [master]
GO
EXEC master.dbo.sp_addlinkedserver
@server = N'NAZWA_ZEWNĘTRZNEGO_SERWERA',
@srvproduct=N'SQL Server' ;
GO

W drugiej kolejności definiujemy parametry logowania . Pamiętajmy, że login musi być wcześniej założony na zewnętrznej bazie danych. Powinien mieć także uprawnienia do odczytu baz, z których chcemy korzystać:

exec master.dbo.sp_addlinkedsrvlogin [NAZWA_ZEWNĘTRZNEGO_SERWERA] , 'false', null , 'login' ,'hasło';

Poniżej skrypt, który pozwala nam zdefiniować logowanie do zewnętrznego serwera przy użyciu poświadczeń domenowych:

exec master.dbo.sp_addlinkedsrvlogin
@rmtsrvname = N'NAZWA_ZEWNĘTRZNEGO_SERWERA',
@locallogin = NULL ,
@useself = N'True' ;

W tej chwili możemy już swobodnie korzystać z danych na zewnętrznym serwerze. Dane w instrukcji SELECT wywołujemy używając nazwy serwera zewnętrznego oraz bazy danych, z której chcemy skorzystać:

SELECT *
FROM
[NAZWA_ZEWNĘTRZNEGO_SERWERA].NAZWA_BAZY.DBO.NAZWA_TABELI;

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *