Processo de atualização do SQL Server 2000 para o SQL Server 2012

8

Eu tenho um banco de dados do SQL Server 2000 que gostaria de atualizar para o SQL Server 2012 (executando em um servidor diferente).

Não acho que exista um caminho de atualização direta, mas se houver, o que é?

Meu plano atual é:

  1. Banco de dados SQL Server 2000 de backup
  2. Restaurar no servidor com o SQL Server 2008 instalado
  3. Defina o nível de compatibilidade como 100(SQL Server 2008 / SQL Server 2008 R2)
  4. Banco de dados de backup do servidor SQL Server 2008
  5. Restaurar no servidor com o SQL Serevr 2012 instalado
  6. Defina o nível de compatibilidade como 110(SQL Server 2012)

Estou fazendo etapas desnecessárias? Estou faltando alguma coisa (como executar utilitários para identificar o uso do Transact-SQL não suportado)?

automático
fonte
Você ainda vai querer fazer coisas como atualizar estatísticas, mas, caso contrário, seu processo parece correto para mim.
Aaron Bertrand
Não tem que ser 2008 / R2 - 2005 é suportado em 2012.
OMG pôneis

Respostas:

5

Não, a meu ver, você não perdeu nada. Atualizei um dos meus bancos de dados do SQL Server 2000 para o SQL Server 2012.

Outra maneira é atualizar o servidor inteiro - nesse caso, você pode usar o assistente de atualização.

ATUALIZAÇÃO: meu processo de atualização foi bem-sucedido, mas tenha cuidado com os recursos descontinuados e descontinuados no SQL Server 2008 e 2012.

Alex_L
fonte
Existe uma maneira automatizada de identificar os recursos descontinuados e depreciados?
automático
Quanto a 2000-> 2008, é assim que se usa o Assistente de atualização. No SQL Server 2000, você deve executar a instalação do SQL Server 2008 e selecionar Planejamento -> Instalar o adwizor de atualização. Após a instalação, tente executá-lo. Mas eu não tentei fazê-lo no Windows 2000, talvez esse método não funcione.
31812 Alex_L
11
Não é possível atualizar diretamente de 2000 para 2012. Você precisará primeiro atualizar para 2005/2008/2008 R2, atualizar o nível de compatibilidade dos seus bancos de dados para 90 ou 100 e depois atualizar para 2012.
Aaron Bertrand
@AaronBertrand, é necessário alterar o nível de compatibilidade para o processo de atualização?
precisa
2
Sim, porque o SQL Server 2012 não oferece suporte à compatibilidade 80 (2000). Você não precisa alterá-lo até 110, mas deve mantê-lo em 90 ou 100 se tiver uma boa razão ...
Aaron Bertrand
1

Preste atenção às colunas que contêm postagens do blog, por exemplo.

Os text, ntexte imagetipos de dados frequentemente utilizados no SQL Server 2000, está obsoleta no SQL Server 2012 (embora eles ainda estão disponíveis), e deve ser substituído varchar(max), nvarchar(max)e varbinary(max)tipos de dados, respectivamente.

mjjjj2001
fonte
1

Aqui está uma consulta rápida para ver se alguma de suas tabelas está usando tipos de dados obsoletos.

SELECT  sys.objects.NAME AS [table_name] ,
        sys.columns.NAME AS [column_name] ,
        sys.types.NAME AS [data_type]
FROM    ( sys.columns
          INNER JOIN sys.objects ON sys.objects.object_id = sys.columns.object_id
        ) INNER JOIN sys.types ON sys.types.system_type_id = sys.columns.system_type_id
WHERE   sys.types.name IN ( 'text', 'ntext', 'image' )
RThomas
fonte