Como converter um banco de dados do MS SQL 2005 de Collation SQL_Latin1_General_CP1_CI para SQL_Latin1_General_CP1_C1_AS?

1

Como posso converter um banco de dados do MS SQL 2005 do agrupamento SQL_Latin1_General_CP1_CI para SQL_Latin1_General_CP1_C1_AS ?

SQL_Latin1_General_CP1_C1_AS não aparece na lista de opções quando eu vou para:

  • Clique com o botão direito do mouse no banco de dados e selecione "Propriedades"
  • Opções
  • Agrupamento
por Techboy 18.06.2009 / 10:54

4 respostas

3

Acho que o agrupamento que você está procurando é CI, com a letra I, não o número 1. Verifique a tela novamente, mas se ainda não a vir, tente executar esse script com o nome do seu banco de dados. :

USE [master]
GO
ALTER DATABASE [MyDatabaseName] COLLATE SQL_Latin1_General_CP1_CI_AS
GO
    
por 18.06.2009 / 11:08
3

Lembre-se de que alterar o agrupamento de um banco de dados não altera o agrupamento de dados existentes, mas apenas o agrupamento usado para criar novas tabelas ou colunas, os dados existentes permanecerão com o mesmo agrupamento.

Se você quiser migrar totalmente os dados e alterar o agrupamento, precisará copiar todos os dados em tabelas vazias com o agrupamento correto.

    
por 18.06.2009 / 17:19
1

Dê uma olhada no link e veja se isso ajuda.

JR

    
por 18.06.2009 / 11:06
1

Os dados do AFAIK não têm um agrupamento, apenas o esquema. O agrupamento determina como os valores de string são comparados. Alterar o esquema em todas as colunas, em todas as tabelas é um PITA principal. A última vez que fiz isso, joguei o esquema em arquivos usando o Red Gate SQL Compare. Eu então fiz um FIND + Replace através dos arquivos alterando as strings do esquema. Finalmente eu sincronizei o esquema de volta dos arquivos para o banco de dados

    
por 20.06.2009 / 11:05