Поделиться через


Удаленные серверы

Область применения:SQL Server

Удаленные серверы поддерживаются только в SQL Server для обратной совместимости. Новые приложения должны использовать вместо них связанные серверы. Дополнительные сведения см. в разделе "Связанные серверы ( ядро СУБД)".

Конфигурация удаленного сервера позволяет клиенту, подключенному к одному экземпляру SQL Server, выполнять хранимую процедуру на другом экземпляре SQL Server без установления отдельного подключения. Вместо этого сервер, к которому подключен клиент, принимает запрос клиента и отправляет запрос удаленному серверу от имени клиента. Удаленный сервер обрабатывает запрос и возвращает результаты исходному серверу. Этот сервер, в свою очередь, передает результаты клиенту. При настройке удаленных серверов необходимо учитывать требования обеспечения безопасности.

Если вы хотите настроить конфигурацию сервера для выполнения хранимых процедур на другом сервере и не имеет существующих конфигураций удаленного сервера, используйте связанные серверы вместо удаленных серверов. Связанные сервера поддерживают выполнение и хранимых процедур, и распределенных запросов; в то же время удаленные сервера поддерживают только хранимые процедуры.

Сведения о удаленном сервере

Удаленные сервера настраиваются парами. Чтобы настроить пару удаленных серверов, нужно настроить оба сервера таким образом, чтобы они являлись удаленными серверами друг для друга.

Большую часть времени не нужно задавать параметры конфигурации для удаленных серверов. Набор SQL Server задает значения по умолчанию как на локальных, так и на удаленных компьютерах, чтобы разрешить подключения к удаленному серверу.

Чтобы удаленный доступ к серверу работал, remote access параметр конфигурации должен быть установлен 1 как на локальных, так и на удаленных компьютерах. (Это параметр по умолчанию.) remote access управляет именами входа с удаленных серверов. Этот параметр конфигурации можно сбросить с помощью хранимой процедуры Transact-SQL sp_configure или SQL Server Management Studio. Чтобы задать параметр в SQL Server Management Studio, на странице "Подключения к свойствам сервера" используйте разрешение удаленных подключений к этому серверу. Чтобы открыть страницу "Подключения свойств сервера" , в обозревателе объектов щелкните правой кнопкой мыши имя сервера и выберите "Свойства". На странице "Свойства сервера" выберите страницу "Подключения ".

С локального сервера можно отключить конфигурацию удаленного сервера, чтобы запретить доступ к этому локальному серверу пользователями на удаленном сервере, с которым он связан.

Безопасность удаленных серверов

Чтобы включить удаленные вызовы процедур (RPC) на удаленном сервере, необходимо настроить сопоставления входа на удаленном сервере и, возможно, на локальном сервере, на котором выполняется экземпляр SQL Server. RPC по умолчанию отключен в SQL Server. Такая конфигурация усиливает безопасность сервера, уменьшая его подверженную атакам контактную зону. Перед использованием RPC необходимо включить эту функцию. Дополнительные сведения см. в sp_configure.

Настройка удаленного сервера

Сопоставления удаленных имен входа должны быть настроены на удаленном сервере. При помощи данных сопоставлений удаленный сервер привязывает входящее имя входа соединения RPC от определенного сервера к локальному имени входа. Сопоставления удаленного входа можно настроить с помощью sp_addremotelogin хранимой процедуры на удаленном сервере.

Примечание.

Доверенныйsp_remoteoption параметр не поддерживается в SQL Server.

Настройка локального сервера

Для локальных имен входа, прошедших проверку подлинности SQL Server, вам не нужно настраивать сопоставление имен входа на локальном сервере. SQL Server использует локальное имя входа и пароль для подключения к удаленному серверу. Для имен входа, прошедших проверку подлинности Windows, настройте локальное сопоставление входа на локальном сервере, определяющее, какие имена входа и пароль используются экземпляром SQL Server при подключении RPC к удаленному серверу.

Для входа, созданных проверкой подлинности Windows, необходимо создать сопоставление с именем входа и паролем с помощью хранимой sp_addlinkedservlogin процедуры. Это имя входа и пароль должны совпадать с входящей учетной записью и паролем, ожидаемым удаленным сервером, как было создано sp_addremotelogin.

Примечание.

По возможности используйте аутентификацию Windows.

Пример безопасности удаленного сервера

Рассмотрите следующие установки SQL Server: serverSend и serverReceive. serverReceive настроено сопоставление входящего имени входа из serverSendвызываемого Sales_Maryимени с именем SQL Server, прошедшим проверку подлинности, с serverReceiveименем Alice. Другой входящий вход serverReceive из serverSend, вызываемогоJoeJoe, сопоставляется с именем входа, прошедшим проверку подлинности SQL Server.

В следующем примере кода Transact-SQL serverSend настраивается на выполнение вызовов RPC по отношению к 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

В serverSendсопоставление местного имени входа создается для имени входа Sales\Mary , прошедшего проверку подлинности Windows, и имени входа Sales_Mary. Для имени входа Joeлокальное сопоставление не требуется, так как по умолчанию используются одинаковые имена входа и пароли, и serverReceive уже обладает сопоставлением для 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

Просмотр свойств локального или удаленного сервера

Для просмотра атрибутов сервера для локальных или удаленных серверов можно использовать расширенную xp_msver хранимую процедуру. К этим атрибутам относятся номер версии SQL Server, тип и количество процессоров на компьютере и версия операционной системы. С локального сервера можно просматривать базы данных, файлы, имена входа и инструменты удаленного сервера. Дополнительные сведения см. в xp_msver.

Связанные серверы (ядро СУБД)