MSSQLSERVER_18482

Aplica-se a:SQL Server

Detalhes

Atributo Valor
Nome do Produto SQL Server
ID do evento 18482
Origem do Evento MSSQLSERVER
Componente SQLEngine
Nome simbólico REMLOGIN_INVALID_SITE
Texto da mensagem Não foi possível estabelecer conexão com o servidor '%.ls', pois '%. ls' não está definido como servidor remoto. Verifique se especificou o nome de servidor correto. %.*ls

Explicação

Esse erro ocorre quando você tenta executar uma RPC (chamada de procedimento remoto) de um servidor para outro (por exemplo, executando um procedimento armazenado em um computador remoto com uma instrução como EXEC SERV_REMOTE.pubs..byroyalty). Uma mensagem de erro semelhante à mostrada a seguir é relatada ao usuário

Erro 18482: não foi possível se conectar ao servidor <SERV_REMOTE> porque <SERV_REMOTE> não está definido como um servidor remoto. Verifique se especificou o nome de servidor correto.

Causa

Esse erro ocorre quando o SQL Server não pode executar uma chamada de procedimento remoto. Isso pode ser causado pela configuração incorreta de um servidor local. Para fazer uma chamada de procedimento remoto, primeiro, o SQL Server determina quem o servidor local está procurando com o nome do servidor com srvid = 0 em sysservers. Se uma entrada com srvid = 0 não for encontrada em sysservers ou se o nome do servidor com srvid = 0 pertencer a um nome de servidor diferente do nome do computador local do Windows, você receberá o erro.

Ação do usuário

Para determinar se o servidor local está configurado corretamente, examine a coluna srvstatus em master..sysservers. Esse valor deve ser 0 para o servidor local.

Por exemplo, suponha que o servidor local tenha sido nomeado como SERV_LOCAL, o servidor remoto, SERV_REMOTE, e sysservers continha as seguintes informações:

srvid srvstatus srvname srvname
1 2 SERV_LOCAL SERV_LOCAL
2 1 SERV_REMOTE SERV_REMOTE

Na saída anterior, SERV_LOCAL é o servidor local, mas ele tem um srvid igual a 1, que deverá ser 0. Para corrigir isso, siga estas etapas:

  1. Execute sp_dropserver local_server_name, droplogins (neste exemplo, você executará sp_dropserver SERV_LOCAL, droplogins).
  2. Execute sp_addserver local_server_name, LOCAL (neste exemplo, você executará sp_addserver SERV_LOCAL, LOCAL).
  3. Pare e reinicie o SQL Server.

Depois que você executar essas etapas, a tabela sysservers será semelhante à seguinte:

srvid srvstatus srvname srvname
0 0 SERV_LOCAL SERV_LOCAL
2 1 SERV_REMOTE SERV_REMOTE

Observação

A ID do Servidor (srvid) deverá ser 0 para o servidor local.

Pode haver alguns casos em que as entradas da tabela sysservers pareçam corretas, mas quando você executa select @@servername, ela retorna NULL. Nesses cenários, você ainda deverá executar as Etapas 1 a 3 listadas acima para corrigir o problema.

Mais informações

Você poderá receber esta mensagem de erro ao instalar a replicação, porque o processo de instalação faz chamadas de procedimento remoto entre os servidores envolvidos na replicação.