Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Serwery zdalne są obsługiwane tylko w programie SQL Server w celu zapewnienia zgodności z poprzednimi wersjami. Nowe aplikacje powinny zamiast tego używać serwerów połączonych. Aby uzyskać więcej informacji, zobacz Połączone serwery (aparat bazy danych).
Konfiguracja serwera zdalnego umożliwia klientowi połączonemu z jednym wystąpieniem programu SQL Server wykonanie procedury składowanej w innym wystąpieniu programu SQL Server bez ustanawiania oddzielnego połączenia. Zamiast tego serwer, z którym jest połączony klient, akceptuje żądanie klienta i wysyła żądanie do serwera zdalnego w imieniu klienta. Serwer zdalny przetwarza żądanie i zwraca wszystkie wyniki do oryginalnego serwera. Ten serwer z kolei przekazuje te wyniki do klienta. Podczas konfigurowania konfiguracji serwera zdalnego należy również rozważyć sposób ustanawiania zabezpieczeń.
Jeśli chcesz skonfigurować konfigurację serwera do wykonywania procedur składowanych na innym serwerze i nie masz istniejących konfiguracji serwera zdalnego, użyj serwerów połączonych zamiast serwerów zdalnych. Zarówno procedury składowane, jak i zapytania rozproszone są dozwolone na serwerach połączonych; jednak tylko procedury składowane są dozwolone dla serwerów zdalnych.
Szczegóły serwera zdalnego
Serwery zdalne są konfigurowane w parach. Aby skonfigurować parę serwerów zdalnych, skonfiguruj oba serwery do rozpoznawania siebie jako serwerów zdalnych.
W większości przypadków nie należy ustawiać opcji konfiguracji dla serwerów zdalnych. Zestaw programu SQL Server ustawia wartości domyślne zarówno na komputerach lokalnych, jak i zdalnych, aby zezwalać na połączenia z serwerem zdalnym.
Aby dostęp do serwera zdalnego działał, remote access opcja konfiguracji musi być ustawiona na 1 zarówno na komputerach lokalnych, jak i zdalnych. (To jest ustawienie domyślne). remote access kontroluje logowania z serwerów zdalnych. Tę opcję konfiguracji można zresetować przy użyciu procedury składowanej Transact-SQL sp_configure lub programu SQL Server Management Studio. Aby ustawić opcję w programie SQL Server Management Studio, na stronie Połączenia właściwości serwera użyj opcji Zezwalaj na połączenia zdalne z tym serwerem. Aby uzyskać dostęp do strony Połączenia właściwości serwera , w Eksploratorze obiektów kliknij prawym przyciskiem myszy nazwę serwera, a następnie wybierz polecenie Właściwości. Na stronie Właściwości serwera wybierz stronę Połączenia .
Z serwera lokalnego można wyłączyć konfigurację serwera zdalnego, aby uniemożliwić dostęp do tego serwera lokalnego przez użytkowników na serwerze zdalnym, z którym jest sparowany.
Zabezpieczenia serwerów zdalnych
Aby włączyć zdalne wywołania procedur (RPC) względem serwera zdalnego, należy skonfigurować mapowania loginów na serwerze zdalnym i ewentualnie na serwerze lokalnym, na którym działa wystąpienie programu SQL Server. RPC jest domyślnie wyłączony w programie SQL Server. Ta konfiguracja zwiększa bezpieczeństwo serwera przez zmniejszenie obszaru powierzchni podatnego na ataki. Przed użyciem procedury RPC należy włączyć tę funkcję. Aby uzyskać więcej informacji, zobacz sp_configure.
Konfigurowanie serwera zdalnego
Mapowania logowania zdalnego należy skonfigurować na serwerze zdalnym. Korzystając z tych odwzorowań, serwer zdalny mapuje przychodzący login dla połączenia RPC z określonego serwera na login lokalny. Mapowania zdalnych logowań można skonfigurować za pomocą procedury składowanej sp_addremotelogin na serwerze zdalnym.
Uwaga / Notatka
Opcja trusted w sp_remoteoption nie jest obsługiwana w SQL Server.
Konfigurowanie serwera lokalnego
W przypadku uwierzytelnionych lokalnych logowań programu SQL Server nie trzeba konfigurować mapowania logowania na serwerze lokalnym. Program SQL Server używa lokalnego identyfikatora logowania i hasła do nawiązywania połączenia z serwerem zdalnym. W przypadku logowań uwierzytelnionych w systemie Windows skonfiguruj lokalne mapowanie logowania na serwerze lokalnym, który definiuje, jakie dane logowania i hasło są używane przez wystąpienie programu SQL Server, gdy nawiązuje połączenie RPC z serwerem zdalnym.
W przypadku loginów utworzonych przy użyciu uwierzytelniania systemu Windows należy utworzyć mapowanie na nazwę logowania i hasło za pomocą procedury składowanej sp_addlinkedservlogin. Ta nazwa logowania i hasło muszą być zgodne z nazwą logowania i hasłem przychodzącym oczekiwanymi przez serwer zdalny, utworzonymi przez sp_addremotelogin.
Uwaga / Notatka
Jeśli to możliwe, użyj uwierzytelniania systemu Windows.
Przykład zabezpieczeń serwera zdalnego
Rozważ następujące instalacje programu SQL Server: serverSend i serverReceive.
serverReceive jest skonfigurowany do mapowania przychodzącego identyfikatora logowania z serverSend, o nazwie Sales_Mary, na login uwierzytelniany przez SQL Server w serverReceive, o nazwie Alice. Kolejny przychodzący login z serverSend, o nazwie Joe, jest mapowany na login uwierzytelniany przez SQL Server w serverReceive, o nazwie Joe.
Poniższy przykład kodu Transact-SQL konfiguruje serverSend do wykonywania wywołań RPC względem serverReceive.
--Create remote server entry for RPCs
--from serverSend in serverReceive.
EXECUTE sp_addserver 'serverSend';
GO
--Create remote login mapping for login 'Sales_Mary' from serverSend
--to Alice.
EXECUTE sp_addremotelogin 'serverSend', 'Alice', 'Sales_Mary';
GO
--Create remote login mapping for login Joe from serverReceive
--to same login.
--Assumes same password for Joe in both servers.
EXECUTE sp_addremotelogin 'serverSend', 'Joe', 'Joe';
GO
W systemie serverSend tworzone jest lokalne mapowanie loginu uwierzytelnianego przez system Windows Sales\Mary na login Sales_Mary. Mapowanie lokalne nie jest wymagane dla Joe, ponieważ domyślnie używa się tej samej nazwy logowania i hasła, a serverReceive ma mapowanie dla Joe.
--Create a remote server entry for RPCs from serverReceive.
EXECUTE sp_addserver 'serverReceive';
GO
--Create a local login mapping for the Windows authenticated login.
--Sales\Mary to Sales_Mary. The password should match the
--password for the login Sales_Mary in serverReceive.
EXECUTE sp_addlinkedsrvlogin 'serverReceive', false, 'Sales\Mary', 'Sales_Mary', '<password>';
GO
Wyświetlanie właściwości serwera lokalnego lub zdalnego
Można użyć rozszerzonej xp_msver procedury składowanej, aby przejrzeć atrybuty serwera dla serwerów lokalnych lub zdalnych. Te atrybuty obejmują numer wersji programu SQL Server, typ i liczbę procesorów na komputerze oraz wersję systemu operacyjnego. Na serwerze lokalnym można wyświetlać bazy danych, pliki, identyfikatory logowania i narzędzia dla serwera zdalnego. Aby uzyskać więcej informacji, zobacz xp_msver.
Powiązane zadania
Serwery połączone (aparat bazy danych)