Udostępnij przez


Połączony serwer uwagi w klastrowanym SQL Server

Gdy serwery połączone są skonfigurowane w klastrowanym SQL Server przeciwko dostawców OLE DB, które nie są dostarczane z SQL Server, upewnij się, że dostawców OLE DB zainstalowanych w wszystkich węzłów klastra.Ponadto wszelkie właściwości definiujące serwer połączony powinny mieć lokalizacji przezroczysty; nie powinny zawierać informacje, które zakłada SQL Server zawsze działa w określonym węźle klastra.

Poniższy przykład definiuje serwer połączony na serwerze z systemem SQL Server i odwołuje się do jednej z tabel zdalnego przy użyciu nazwy czteroczęściowym w SELECT instrukcja.(Użyj SQLNCLI i SQL Server nastąpi przekierowanie do najnowszej wersja SQL Server macierzystego klienta OLE DB Provider.)

sp_addlinkedserver @server = N'LinkServer',
    @srvproduct = N' ',
    @provider = N'SQLNCLI', 
    @datasrc = N'ServerNetName', 
    @catalog = N'AdventureWorks2008R2'
GO
SELECT *
FROM LinkServer.AdventureWorks2008R2.HumanResources.Employee
GO

Serwery połączone sprzężenia zwrotnego

Serwery połączone mogą być definiowane wskazać Wstecz (pętli zwrotnej) do serwera, na którym są zdefiniowane.Serwery sprzężenia zwrotnego są najbardziej przydatne podczas testowania aplikacji korzystającej z kwerendami rozproszonymi w sieci jednego serwera.

Na przykład wykonanie następującego sp_addlinkedserver procedura składowana na serwerze o nazwie MyServer definiuje sprzężenia zwrotnego serwer połączony:

sp_addlinkedserver @server = N'MyLink',
    @srvproduct = N' ',
    @provider = N'SQLNCLI', 
    @datasrc = N'MyServer', 
    @catalog = N'AdventureWorks2008R2'
GO

Transact-SQLsprawozdania, które używają MyLink jako pętli nazwa serwera przez SQLNCLI dostawca i z powrotem na serwerze lokalnym.

Nie można używać serwerów połączonych w transakcja rozproszona sprzężenia zwrotnego.Próby zapytanie rozproszone przeciwko sprzężenia zwrotnego serwer połączony z transakcja rozproszona powoduje błąd, takie jak błąd 3910: "Kontekstu transakcji [Microsoft] [ODBC sterownik SQL Server] [SQL Server] używany w innej sesja." To ograniczenie nie ma zastosowania, gdy INSERT...Instrukcja EXECUTE, wydane przez połączenie nie ma wiele zestawów w wyniku active (MARS) włączone, wykonywana sprzężenia zwrotnego serwer połączony.Należy zauważyć, że ograniczenie nadal stosuje się gdy MARS jest włączona dla połączenia.