Renomear um computador que hospeda uma instância autônoma do SQL Server

Aplica-se a:SQL Server – Somente Windows

Quando você altera o nome do computador que está executando o SQL Server, o novo nome será reconhecido durante a inicialização do SQL Server . Você não precisa executar a Instalação novamente para redefinir o nome do computador. Em vez disso, use as seguintes etapas para atualizar os metadados do sistema armazenados em sys.servers e relatados pela função do sistema @@SERVERNAME. Atualize os metadados do sistema para refletir as alterações no nome do computador em conexões e aplicativos remotos que usam @@SERVERNAME ou que consultam o nome do servidor do sys.servers.

As etapas a seguir não podem ser usadas para renomear uma instância do SQL Server. Elas só podem ser usadas para renomear a parte do nome de instância que corresponde ao nome do computador. Por exemplo, você pode alterar um computador denominado MB1 que hospede uma instância do SQL Server denominada Instance1 para outro nome, como MB2. Entretanto, a parte de instância do nome, Instance1, permanecerá inalterada. Neste exemplo, o \\<ComputerName>\<InstanceName> seria alterado de \\MB1\Instance1 para \\MB2\Instance1.

Pré-requisitos

Antes de começar o processo de renomeação, revise as seguintes informações:

  • Quando uma instância do SQL Server fizer parte de um cluster de failover do SQL Server , o processo de renomeação do computador difere de um computador que hospeda uma instância autônoma. Para obter mais informações, confira Renomear uma instância de cluster de failover do SQL Server.

  • O SQL Server não dá suporte à renomeação de computadores que estejam envolvidos em replicação, exceto quando você usar o envio de logs com a replicação. O computador secundário no envio de logs poderá ser renomeado se o computador primário for permanentemente perdido. Para obter mais informações, confira Replicação e envio de logs (SQL Server).

  • Quando você renomear um computador que está configurado para usar o Reporting Services, o Reporting Services poderá não ficar disponível após a alteração do nome do computador. Para obter mais informações, veja Renomear um computador de servidor de relatório.

  • Quando você renomear um computador que está configurado para usar espelhamento de banco de dados, deverá desativar o espelhamento de banco de dados antes da operação de renomeação. Em seguida, restabeleça o espelhamento de banco de dados com o novo nome do computador. Os metadados de espelhamento de banco de dados não serão atualizados automaticamente para refletir o novo nome do computador. Use as etapas a seguir para atualizar os metadados de sistema.

  • Os usuários que se conectem ao SQL Server por meio de um grupo do Windows que use uma referência embutida em código ao nome do computador talvez não consigam se conectar ao SQL Server. Isso pode acontecer após a renomeação se o grupo do Windows especificar o nome antigo do computador. Para assegurar que tais grupos do Windows tenham conectividade com o SQL Server após a operação de renomeação, atualize o grupo do Windows para especificar o novo nome do computador.

Você poderá se conectar ao SQL Server usando o novo nome do computador depois de reiniciar o SQL Server. Para garantir que @@SERVERNAME retorne o nome atualizado da instância do servidor local, você deve executar manualmente o procedimento a seguir aplicável ao seu cenário. O procedimento usado depende de a atualização ser feita em um computador que hospeda uma instância padrão ou nomeada do SQL Server.

Renomear um computador que hospeda uma instância autônoma do SQL Server

  • Para um computador renomeado que hospeda uma instância padrão do SQL Server, execute os seguintes procedimentos:

    EXEC sp_dropserver '<old_name>';
    GO
    EXEC sp_addserver '<new_name>', local;
    GO
    

    Reinicie a instância do SQL Server.

  • Para um computador renomeado que hospeda uma instância nomeada do SQL Server, execute os seguintes procedimentos:

    EXEC sp_dropserver '<old_name\instancename>';
    GO
    EXEC sp_addserver '<new_name\instancename>', local;
    GO
    

    Reinicie a instância do SQL Server.

Após a operação de renomeação

Depois que um computador for renomeado, quaisquer conexões que usavam o nome antigo do computador deverão ser conectadas usando o novo nome.

Verifique a operação de renomeação

  • Selecione informações de @@SERVERNAME ou sys.servers. A função @@SERVERNAME retornará o novo nome e a tabela sys.servers mostrará o novo nome. O exemplo a seguir mostra o uso de @@SERVERNAME.

    SELECT @@SERVERNAME AS 'Server Name';
    

Considerações adicionais

Logons remotos – se o computador tiver logons remotos, a execução de sp_dropserver poderá gerar um erro semelhante ao seguinte:

Server: Msg 15190, Level 16, State 1, Procedure sp_dropserver, Line 44 There are still remote logins for the server 'SERVER1'.

Para resolver o erro, você deve descartar logons remotos para esse servidor.

Remover logons remotos

  • Para uma instância padrão, execute o seguinte procedimento:

    EXEC sp_dropremotelogin old_name;
    GO
    
  • Para uma instância nomeada, execute o seguinte procedimento:

    EXEC sp_dropremotelogin old_name\instancename;
    GO
    

Configurações de servidor vinculado – as configurações de servidor vinculado serão afetadas pela operação de renomeação de computador. Use sp_addlinkedserver ou sp_setnetname para atualizar referências de nome de computador. Para obter mais informações, veja sp_addlinkedserver (Transact-SQL) ou sp_setnetname (Transact-SQL).

Nomes de alias de cliente – os aliases de cliente que usam pipes nomeados serão afetados pela operação de renomeação do computador. Por exemplo, se foi criado um alias "PROD_SRVR" para apontar para SRVR1 que usa o protocolo de pipes nomeados, o nome do pipe será \\SRVR1\pipe\sql\query. Depois que o computador for renomeado, o caminho do pipe nomeado deixará de ser válido. Para obter mais informações sobre pipes nomeados, veja o tópico Criando uma cadeia de conexão válida usando pipes nomeados.

Confira também