Mover o SQL 2000 para novo hardware e O / S. Como copiar tudo

2

Estamos substituindo nosso servidor Windows NT que executa o SQL 2000 por um hardware mais recente que executa o Windows Server 2003, mas ainda assim o SQL 2000. Qual é a maneira mais fácil de fazer isso?

Sabemos como copiar os bancos de dados normais, etc., por meio de backup e restauração ou movimentação e reconexão dos arquivos de dados, mas também precisamos copiar logins, pacotes DTS, trabalhos do SQL Agent etc. Encontramos instruções sobre como fazer isso usando pacotes DTS, embora pareça um pouco complicado evitar logins órfãos, etc.

Dado que nós apenas queremos copiar tudo, poderíamos copiar os bancos de dados do sistema e, portanto, colocar tudo em um mesmo lugar, por assim dizer? Eu realmente não encontrei nenhuma informação para indicar se isso é possível ou se há muito O / S e outras coisas específicas da instalação nos bancos de dados do sistema para que isso funcione.

Obrigado

    
por tetranz 02.07.2010 / 19:45

2 respostas

4

Não é recomendável (e não suportado) sobrescrever o banco de dados do sistema com os de outra instância do servidor, mas é tecnicamente possível. Eu muito prefiro migrar as peças eu mesmo. Instale sua nova instância do SQL 2000 limpa no novo servidor Win2003 e, em seguida, leve tudo para a instância limpa, você será mais feliz assim.

Bancos de dados que você tem, backup / restauração ou desanexar / reativar.

Logins que você pode copiar usando sp_help_revlogin . Crie o proc em sua instância de origem, execute-o na origem para gerar um script que recriará os logins (mantendo SIDs e todas aquelas coisas divertidas) e, em seguida, execute o script gerado na nova instância do servidor.

Os pacotes DTS podem ser migrados usando o DTSBackup 2000 . Funciona muito bem.

Os trabalhos do SQL Agent podem ser criados a partir do servidor original e recriados no servidor de destino.

Se o nome do host do servidor mudar, você terá que fazer mais algumas coisas no novo servidor:

  • sp_dropserver 'oldservername'
  • sp_addserver 'newservername','local'
  • Corrigir a propriedade de tarefas em que o proprietário era um usuário local no servidor antigo
  • UPDATE msdb.dbo.sysjobs set originating_server='newservername'

Se você tiver servidores vinculados no servidor antigo, poderá usar o script em esta página no SQL Server Central (note que você pode precisar se registrar para visualizá-lo - o que é gratuito e vale a pena mesmo assim). Você precisará recriar as senhas no novo servidor, ele não as carrega. Há também uma ferramenta que costumava usar chamado ScriptLinkedServers.exe , mas não consigo encontrá-lo agora.

EDIT: Encontrado - ferramenta ScriptLinkedServers no CodeProject

Boa sorte!

    
por 02.07.2010 / 20:02
0

Se você instalar o SQL no mesmo caminho no novo servidor, poderá pegar a pasta MSSQL do servidor antigo (depois de desativar o serviço) e copiá-la sobre a nova pasta MSSQL do servidor e ela deverá ser uma cópia exata. Você precisará atualizar a tabela sysservers usando os procedimentos internos para obter o @@ servername para exibir o novo nome do host.

link

    
por 06.07.2010 / 18:54

Tags