Zabezpieczenia dla serwerów połączonych

Podczas połączenia serwer połączony (na przykład, kiedy przetwarza zapytanie rozproszone), wysyłanie serwera zawiera nazwy logowania i hasła, aby połączyć serwer odbiorczy w jego imieniu.Dla tego połączenia do pracy należy utworzyć mapowanie logowania między serwerów połączonych za pomocą SQL Server procedury składowane w systemie.

Mapowania logowania serwera połączonego można dodać za pomocą sp_addlinkedsrvlogin i usunąć za pomocą sp_droplinkedsrvlogin.Mapowanie logowania serwer połączony ustanawia zdalnego logowania i hasło zdalne dla określonego serwer połączony i logowanie lokalne.Gdy SQL Server łączy serwer połączony na wykonać zapytanie rozproszone lub procedura składowana SQL Server wyszukuje wszystkie mapowania logowania dla bieżącego logowania wykonuje kwerendę lub procedury.Jeśli mapowanie logowania, SQL Server wysyła odpowiednie zdalnego logowania i hasła podczas łączenia się serwer połączony.

Na przykład mapowania dla serwer połączony S1, zostało zestaw do logowania lokalnego, U1, do zdalnego logowania U2, przy użyciu zdalnego hasło 8r4li034j7$.Podczas logowania lokalnego U1 wykonuje zapytanie rozproszone uzyskuje dostęp do tabela przechowywane serwer połączony S1, U2 i 8r4li034j7$ są przekazywane jako Identyfikatora użytkownika i hasła podczas SQL Server łączy się z serwer połączony S1.

Domyślnego mapowania konfiguracja serwer połączony ma emulować bieżące poświadczenia zabezpieczeń logowania.Tego typu mapowanie jest znany jako self-mapping.Po dodaniu serwer połączony za pomocą sp_addlinkedserverself-mapping domyślną jest dodawany do wszystkich identyfikatorów logowania lokalnego.Jeśli delegowanie zabezpieczeń konta jest dostępny i serwer połączony obsługuje uwierzytelnianie systemu Windows, self-mapping dla systemu Windows obsługiwane uwierzytelnione logowania.

Ostrzeżenie

Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.

Jeśli delegowanie konta zabezpieczeń nie jest dostępny na klient lub serwera wysyłającego lub serwer połączony/dostawca nie rozpoznaje w trybie uwierzytelniania Windows, self-mapping nie będzie działać dla logowania, które korzystają z uwierzytelniania systemu Windows.Dlatego należy zestaw up mapowanie logowania lokalnego logowania, który używa uwierzytelniania systemu Windows do określonego identyfikatora logowania serwer połączony, który nie jest uwierzytelniony logowania.W takim przypadek używa zdalnego logowania SQL Server uwierzytelniania, jeśli serwer połączony jest wystąpienie SQL Server.

Kwerendami rozproszonymi podlegają uprawnień logowania zdalnego przez serwer połączony na tabela zdalna.Jednakże SQL Server nie jest sprawdzana poprawność żadnych uprawnień czas kompilacji.Wykryto naruszenie uprawnienia na wykonanie kwerendy czas zgłoszone przez dostawca.

Ostrzeżenie

Aby utworzyć najlepsze planów kwerend podczas korzystania z tabela serwer połączony, procesor kwerend musi mieć statystyk dystrybucji danych z serwer połączony.Użytkownicy, którzy mają ograniczone uprawnienia dla każdej kolumny tabela może nie masz wystarczających uprawnień do uzyskania wszystkich statystyk przydatne może odbierać mniej wydajne planu kwerend i niska wydajność.Jeśli wystąpienie serwer połączony SQL Server, aby uzyskać wszystkie dostępne statystyki, użytkownik musi własnej tabela lub być element członkowski z sysadmin stałej roli serwera db_owner stałej rola bazy danych lub db_ddladmin stałej rola bazy danych serwer połączony.

Testowanie serwerów połączonych

W Eksploratorze obiektów, kliknij prawym przyciskiem myszy serwer połączony, a następnie kliknij Testuj połączenie.