MSSQLSERVER_18482
Aplica-se: 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 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:
- Execute
sp_dropserver
local_server_name, droplogins (neste exemplo, você executarásp_dropserver SERV_LOCAL, droplogins
). - Execute
sp_addserver
local_server_name, LOCAL (neste exemplo, você executarásp_addserver SERV_LOCAL, LOCAL
). - 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.