quarta-feira, 18 de abril de 2012

Como alterar o collation do banco de dados MS SQL Server.

Como alterar o collation do banco de dados MS SQL Server

Geralmente, o problema de apresentação de caracteres estranhos em palavras com acento ocorre quando o collation da base MS-SQL, que foi utilizado na criação da estrutura do banco de dados, é diferente do collation recomendado.

Para identificar qual collation é utilizado em sua base de dados local, execute o comando SP_HELPDB e verifique no campo "status" o item collation.

Recomendados o collation SQL_Latin1_General_CP1_CI_AI para aplicações não Microsoft.

Para alterar o collation de sua base, basta executar as instruções abaixo no Query Analyzer:

- Para alterar o collation default do database: ALTER DATABASE <NOME_BANCO> COLLATE <NOVO_COLLATION>
Ex.: ALTER DATABASE DB_AULA COLLATE SQL_Latin1_General_CP1_CI_AI

- Para alterar o collation de um campo: ALTER TABLE <TABELA> ALTER COLUMN <CAMPO> <TIPO_DE_DADO> COLLATE <NOVO_COLLATION>
Ex.: ALTER TABLE ACA_DISCIPLINAS ALTER COLUMN DESCRICAODISCIPLINA VARCHAR(50) COLLATE SQL_Latin1_General_CP1_CI_AI

- Para verificar o collation atual da sua base: SP_HELPDB <SUA_BASE> Verifique na coluna "Status" o "Collation"

Caso ocorra a mensagem de erro ao tentar alterar o collation:
"The database could not be exclusively locked to perform the operation"

Primeiro será necessário ajustar o banco para o modo "single user", fazer a alteração do collation
e depois ajustar para multi novamente:

ALTER DATABASE <NOME_BANCO> SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE <NOME_BANCO> COLLATE <NOVO_COLLATION>
ALTER DATABASE <NOME_BANCO> SET MULTI_USER

Obs:
- Lembre-se de remover os sinais de maior (>) e menor (<).
- A alteração de collation no database somente afeta os novos objetos criados, as tabelas já existentes permanecerão com o collation anterior.
- Recomendamos criar o banco de dados com o collation SQL_Latin1_General_CP1_CI_AI

Post publicado no FAQ do sitesistemaaula.

Nenhum comentário:

Postar um comentário

Sejam bem vindo deixe sua opinião

Flamengo

Arquivo do blog