MSSQLSERVER_18483
Aplica-se a: SQL Server
Detalhes
Atributo | Valor |
---|---|
Nome do produto | SQL Server |
ID do evento | 18483 |
Origem do Evento | MSSQLSERVER |
Componente | SQLEngine |
Nome simbólico | REMLOGIN_INVALID_USER |
Texto da mensagem | Impossível estabelecer conexão com o servidor '%.ls' porque '%.ls' não está definido como logon remoto no servidor. Verifique se especificou o nome de logon correto. %.*ls. |
Explicação
Esse erro ocorre quando você tenta configurar um distribuidor de replicação em um sistema que foi restaurado usando a imagem de disco rígido de outro computador em que a instância SQL foi originalmente instalada. Uma mensagem de erro semelhante à seguinte é relatada ao usuário:
O SQL Server Management Studio não pôde configurar a '<Instância do Servidor><>' como o Distribuidor da '<Instância do Servidor><>'. Erro 18483: Não foi possível conectar ao servidor '<Instância do servidor><' porque 'distributor_admin>' não está definido como um login remoto no servidor. Verifique se especificou o nome de logon correto. %.*ls.
Causa
Quando você implanta o SQL Server a partir de uma imagem de disco rígido de outro computador em que o SQL Server está instalado, o nome de rede do computador com imagem é mantido na nova instalação. O nome incorreto da rede causa uma falha na configuração do distribuidor de replicação. O mesmo problema ocorrerá se você renomear o computador após a instalação do SQL Server.
Ação do usuário
Para contornar esse problema, substitua o nome do servidor SQL Server pelo nome de rede correto do computador. Para fazer isso, siga estas etapas:
Faça logon no computador em que você implantou o SQL Server a partir da imagem de disco e execute a seguinte instrução Transact-SQL no SSMS:
-- Use the Master database USE master GO -- Declare local variables DECLARE @serverproperty_servername varchar(100), @servername varchar(100); -- Get the value returned by the SERVERPROPERTY system function SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName')); -- Get the value returned by @@SERVERNAME global variable SELECT @servername = CONVERT(varchar(100), @@SERVERNAME); -- Drop the server with incorrect name EXEC sp_dropserver @server=@servername; -- Add the correct server as a local server EXEC sp_addserver @server=@serverproperty_servername, @local='local';
Reinicie o computador que executa o SQL Server.
Para verificar se o nome do SQL Server e o nome da rede do computador são os mesmos, execute a seguinte instrução Transact-SQL:
SELECT @@SERVERNAME, SERVERPROPERTY('ServerName');
Mais informações
Você pode usar a @@SERVERNAME
variável global ou a SERVERPROPERTY
função ('ServerName') no SQL Server para localizar o nome da rede do computador que executa o SQL Server. A propriedade ServerName da função relata SERVERPROPERTY
automaticamente a alteração no nome de rede do computador quando você reinicia o computador e o serviço SQL Server. A @@SERVERNAME
variável global retém o nome do computador original do SQL Server até que o nome do SQL Server seja redefinido manualmente.
Etapas necessárias para reproduzir o problema
No computador em que você implantou o SQL Server a partir de uma imagem de disco, siga estas etapas:
Inicie o Management Studio.
No Pesquisador de Objetos, expanda o nome da instância do SQL Server.
Clique com o botão direito do mouse na pasta Replicação, clique em Configurar Replicação de distribuição e clique em Configurar Publicação, Assinantes e Distribuição.
Na caixa de diálogo do Assistente para Configurar a Distribuição, clique em Avançar.
Na caixa de diálogo Distribuidor, clique para selecionar a '<Instância> do Servidor><' atuará como seu próprio Distribuidor; O SQL Server criará um banco de dados de distribuição e um botão de opção de log e clicará em Avançar.
Na caixa de diálogo Iniciar SQL Server Agent, clique em Avançar.
Na caixa de diálogo Pasta de Instantâneo, clique em Avançar.
Observação
Se você receber uma mensagem para confirmar o caminho da pasta de instantâneo, clique em Sim.
Na caixa de diálogo Banco de Dados de Distribuição, clique em Avançar.
Na caixa de diálogo Publicadores, clique em Avançar.
Na caixa de diálogo Ações do Assistente, clique em Avançar.
Na caixa de diálogo Concluir o Assistente, clique em Concluir.