Estamos substituindo nosso SQL Server e decidimos que renomear o próprio servidor será muito mais fácil do que alterar todo o resto para apontar para um novo nome. Encontramos instruções sobre como alterar o nome da instância do SQL Server para corresponder ao nome do computador que se parece com isso:
sp_dropserver 'OLDSERVER'
sp_addserver 'NEWSERVER', local
Embora o SQL Enterprise Manager não pareça gostar deles juntos. Eu tive que mudar para o seguinte para fazê-lo funcionar em conjunto:
sp_dropserver 'OLDSERVER'; GO
sp_addserver 'NEWSERVER', 'local'; GO
O que não é ruim, mas eu preferiria que as coisas fossem mais automatizadas. Como @@ ServerName retorna o nome da instância, eu descobri como automatizar a primeira linha:
sp_dropserver @@ServerName; GO
Aprendi também que SERVERPROPERTY ('ServerName') deve retornar o nome do computador, então pensei que talvez pudesse usá-lo para automatizar a segunda parte, mas isso não funcionou:
sp_addserver SERVERPROPERTY('ServerName'), 'local'; GO
Tentei definir uma variável, o que preciso fazer de qualquer maneira para atualizar os trabalhos do SQL Agent, mas isso também não funcionou:
DECLARE @srv sysname;
SET @srv = CAST(SERVERPROPERTY('ServerName') AS sysname);
sp_addserver @srv, 'local'; GO
Sintaxe incorreta perto de 'sp_addserver'.
Eu gostaria muito de não precisar codificar o novo nome do servidor no script, para tornar isso mais facilmente reutilizável. Alguém tem alguma idéia?
fonte
Respostas:
Aqui está um script para fazer o que você deseja:
Créditos: http://www.myitforum.com/articles/5/view.asp?id=4983
fonte
Com a ajuda do magma e Sankar Reddy, aqui está o script final:
O artigo que o magma encontrou teve um pequeno erro, que era o de tentar soltar o novo nome e adicionar o nome antigo em vez de soltar o nome antigo e adicionar o novo nome. Também adicionei uma consulta de atualização para corrigir os trabalhos do agente SQL. Observe que isso funciona corretamente somente no servidor mestre em um ambiente com vários servidores. Meu ambiente é um ambiente de servidor único, portanto funciona para minha situação.
fonte
fonte