MSSQLSERVER_18483

Aplica-se a: SQL Server

Detalhes

Attribute 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 Não consegui ligar-me ao servidor '%.ls' porque '%.ls' não está definido como login remoto no servidor. Verifique se você especificou o nome de login correto. %.*ls.

Explanation

Este erro ocorre quando tenta configurar um distribuidor de replicação num sistema que foi restaurado usando a imagem do disco rígido de outro computador onde a instância SQL foi originalmente instalada. Uma mensagem de erro semelhante à seguinte é reportada ao utilizador:

O SQL Server Management Studio não conseguiu configurar<Server><Instance>' como distribuidor para '<Server><Instance>'. Erro 18483: Não foi possível ligar-se à '<Server><Instance>' do servidor porque 'distributor_admin' não está definido como login remoto no servidor. Verifique se você especificou o nome de login correto. %.*ls.

Motivo

Quando implementa o SQL Server a partir de uma imagem de disco rígido de outro computador onde o SQL Server está instalado, o nome da rede do computador imaginado é mantido na nova instalação. O nome incorreto da rede faz com que a configuração do distribuidor de replicação falhe. O mesmo problema ocorre se renomear o computador depois de instalar o SQL Server.

Ação do usuário

Para contornar este problema, substitua o nome do servidor SQL Server pelo nome correto da rede do computador. Para o fazer, siga estes passos:

  1. Inicie sessão no computador onde implementou SQL Server a partir da imagem de disco e depois execute a seguinte Transact-SQL instrução 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';
    
  2. Reinicie o computador a correr o SQL Server.

  3. Para verificar se o nome SQL Server e o nome da rede do computador são iguais, execute a seguinte instrução Transact-SQL:

    SELECT @@SERVERNAME, SERVERPROPERTY('ServerName');
    

Mais informações

Pode usar a @@SERVERNAME variável global ou a SERVERPROPERTYfunção ('NomeServidor') no SQL Server para encontrar o nome da rede do computador que corre o SQL Server. A propriedade ServerName da SERVERPROPERTY função reporta automaticamente a alteração no nome da rede do computador quando reinicia o computador e o serviço SQL Server. A @@SERVERNAME variável global mantém o nome original do computador SQL Server até que o nome SQL Server seja reiniciado manualmente.

Passos para Reproduzir o Problema

No computador onde implementou o SQL Server a partir de uma imagem de disco, siga estes passos:

  1. Inicie o Management Studio.

  2. No Object Explorer, expanda o nome da sua instância do SQL Server.

  3. Clique com o botão direito na pasta Replicação e clique em Configurar Replicação da Distribuição, e depois clique em Configurar Publicação, Assinantes e Distribuição.

  4. Na caixa de diálogo Configurar Assistente de Distribuição , clique em Próximo.

  5. Na caixa de diálogo Distribuidor, clique para selecionar a '<Instância>do Servidor><' funcionará como um Distribuidor próprio; O SQL Server cria uma base de dados de distribuição e um botão de acesso de registo, e depois clica em Próximo.

  6. Na caixa de diálogo Iniciar do SQL Server Agent, clique em Próximo.

  7. Na caixa de diálogo Pasta Snapshot , clique em Próximo.

    Note

    Se receber uma mensagem a confirmar o caminho da pasta snapshot, clique em Sim.

  8. Na caixa de diálogo Base de Dados de Distribuição , clique em Próximo.

  9. Na caixa de diálogo Editores , clique em Próximo.

  10. Na caixa de diálogo Ações do Assistente , clique em Próximo.

  11. Na caixa de diálogo Completar o Assistente , clique em Terminar.