Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Os servidores remotos têm suporte no SQL Server apenas para compatibilidade com versões anteriores. Em vez disso, os novos aplicativos devem usar servidores vinculados. Para obter mais informações, consulte Servidores vinculados (Mecanismo de Banco de Dados).
Uma configuração de servidor remoto permite que um cliente conectado a uma instância do SQL Server execute um procedimento armazenado em outra instância do SQL Server sem estabelecer uma conexão separada. Em vez disso, o servidor ao qual o cliente está conectado aceita a solicitação do cliente e envia a solicitação para o servidor remoto em nome do cliente. O servidor remoto processa a solicitação e retorna todos os resultados para o servidor original. Este servidor, por sua vez, passa esses resultados para o cliente. Ao configurar uma configuração de servidor remoto, você também deve considerar como estabelecer segurança.
Se você quiser configurar uma configuração de servidor para executar procedimentos armazenados em outro servidor e não tiver configurações de servidor remoto existentes, use servidores vinculados em vez de servidores remotos. Tanto os procedimentos armazenados quanto as consultas distribuídas são permitidos em servidores vinculados; no entanto, apenas procedimentos armazenados são permitidos em servidores remotos.
Detalhes do servidor remoto
Os servidores remotos são configurados em pares. Para configurar um par de servidores remotos, configure ambos os servidores para reconhecerem um ao outro como servidores remotos.
Na maioria das vezes, você não precisa definir opções de configuração para servidores remotos. O SQL Server Set define as predefinições nos computadores local e remoto para permitir ligações a servidores remotos.
Para que o acesso ao servidor remoto funcione, a remote access opção de configuração deve ser definida como 1 nos computadores locais e remotos. (Esta é a configuração padrão.) remote access Controla logins de servidores remotos. Você pode redefinir essa opção de configuração usando o procedimento armazenado Transact-SQL sp_configure ou o SQL Server Management Studio. Para definir a opção no SQL Server Management Studio, na página Conexões de Propriedades do Servidor , use Permitir conexões remotas com este servidor. Para acessar a página Conexões de Propriedades do Servidor , no Pesquisador de Objetos, clique com o botão direito do mouse no nome do servidor e selecione Propriedades. Na página Propriedades do Servidor , selecione a página Conexões .
A partir do servidor local, você pode desabilitar uma configuração de servidor remoto para impedir o acesso a esse servidor local por usuários no servidor remoto com o qual ele está emparelhado.
Segurança para servidores remotos
Para habilitar chamadas de procedimento remoto (RPC) em um servidor remoto, você deve configurar mapeamentos de logon no servidor remoto e, possivelmente, no servidor local que está executando uma instância do SQL Server. RPC é desabilitado por padrão no SQL Server. Esta configuração aumenta a segurança do seu servidor, reduzindo a sua área de superfície passível de ataque. Antes de usar o RPC, você deve habilitar esse recurso. Para obter mais informações, consulte sp_configure.
Configurar o servidor remoto
Os mapeamentos de login remoto devem ser configurados no servidor remoto. Usando esses mapeamentos, o servidor remoto mapeia o logon de entrada para uma conexão RPC de um servidor especificado para um logon local. Os mapeamentos de login remoto podem ser configurados usando o sp_addremotelogin procedimento armazenado no servidor remoto.
Observação
A opção confiável de sp_remoteoption não tem suporte no SQL Server.
Configurar o servidor local
Para logons locais autenticados do SQL Server, não é necessário configurar um mapeamento de logon no servidor local. O SQL Server usa o logon local e a senha para se conectar ao servidor remoto. Para logons autenticados do Windows, configure um mapeamento de logon local em um servidor local que define quais logon e senha são usados por uma instância do SQL Server quando ele faz uma conexão RPC com um servidor remoto.
Para logons criados pela Autenticação do Windows, você deve criar um mapeamento para um nome de logon e senha usando o sp_addlinkedservlogin procedimento armazenado. Esse nome de login e senha devem corresponder ao login e senha de entrada esperados pelo servidor remoto, conforme criado pela sp_addremotelogin.
Observação
Quando possível, use a Autenticação do Windows.
Exemplo de segurança de servidor remoto
Considere estas instalações do SQL Server: serverSend e serverReceive.
serverReceive está configurado para mapear um início de sessão recebido de serverSend, denominado Sales_Mary, para um início de sessão autenticado do SQL Server em serverReceive, denominado Alice. Outro início de sessão de entrada de serverSend, chamado Joe, é mapeado para um início de sessão autenticado do SQL Server em serverReceive, chamado Joe.
O exemplo de código Transact-SQL seguinte configura serverSend para executar RPCs em 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
Em serverSend, é criado um mapeamento de login local para um login Sales\Mary autenticado do Windows para um login Sales_Mary. Não é necessário nenhum mapeamento local para Joe, porque, por predefinição, utiliza-se o mesmo nome de utilizador e palavra-passe, e serverReceive tem um mapeamento para 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
Exibir propriedades do servidor local ou remoto
Pode utilizar o procedimento armazenado estendido xp_msver para consultar os atributos do servidor de servidores locais ou remotos. Esses atributos incluem o número da versão do SQL Server, o tipo e o número de processadores no computador e a versão do sistema operacional. No servidor local, você pode exibir bancos de dados, arquivos, logins e ferramentas para um servidor remoto. Para obter mais informações, consulte xp_msver.
Tarefas relacionadas
Servidores vinculados (Mecanismo de Banco de Dados)