Adriano Rosa - Como alterar o collate do SQL Server
- Tags:
- sql server,
Algumas vezes, na migração de uma base de dados ou na exportação de alguns dados para uma base de outro servidor, podemos ter certos problemas com acentuação. Isto ocorre se os dados da base de origem forem armazenados com seu collate (formato) diferentes da base de destino, ou seja, se temos uma base com seu collate em Latin1_General_CI_AI e exportarmos seus dados para uma outra base no qual o collate definido seja diferente a acentuação destes registros ficarão de forma truncada.
Link externo: Adriano Rosa - Como alterar o collate do SQL Server
Exemplos de mudanças de collate:
ALTER DATABASE VEICULO COLLATE Latin1_General_CI_AI
GO
ALTER DATABASE VEICULO COLLATE Latin1_General_CI_AS
GO
ALTER TABLE SETOR ALTER COLUMN SETOR_NM VARCHAR(70)
COLLATE Latin1_General_CI_AS
GO
ou pode-se usar os comandos a seguir:
ALTER DATABASE rh SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE rh COLLATE Latin1_General_CI_AI
ALTER DATABASE rh SET MULTI_USER
GO
Adriano, vale lembrar que ao alterar o COLLATE do database os atributos/colunas já existentes não sofrerão alteração, mas sim, apenas as novas que forem criadas com o COLLATE default do database.
Minha recomendação é alterar o COLLATE do database e alterar o de todas os atributos/colunas existentes por meio de script (conforme o Junior A. comentou acima)
Abraços!
Escrito por:
- Deyvid William A.
- DBA da Nokia Siemens Networks
- sexta, 26 de junho de 2009 - 17:15
@Junior bem lembrado o código que acima!
@Deyvid, obrigado pela sua recomendação!
