none
Alterar collation RRS feed

  • Pergunta

  • Olá, boa tarde.

    Preciso alterar collation para Latin1_General_CI_AS do banco e 9000 mil tabelas.

    Tem algum script para fazer esse processo?

    quarta-feira, 29 de janeiro de 2020 19:00

Respostas

Todas as Respostas

  • Marcos,

    Antes de realizar a alteração, gostaria de entender qual é a sua necessidade, pois a alteração do collation pode gerar impactos nos seus dados. Para saber mais sobre os collations e possíveis impactos, recomendo acessar a documentação oficial: Set or Change the Database Collation

    Para alterar o collation de um específico banco de dados, você pode utilizar a instrução Alter Database, veja o exemplo:

    ALTER DATABASE SeuBancoDeDados
    COLLATE Latin1_General_CI_AS
    Go

    No caso das tabelas, podemos elaborar um Script para realizar esta alteração, mas na verdade o collation não se aplica a tabela e sim as colunas que utilizam os tipos de dados: charvarchartextncharnvarchar, e ntext.

    Então, se for uma necessidade somente de mudar a apresentação de um dado em tela, podemos fazer uso da opção Collate no comando Select.

    Aproveito para compartilhar um exemplo de como podemos alterar o collation de uma respectiva coluna em uma determinada tabela:

    -- Alterando o Collate na Tabela Users para a Coluna Password --
    Alter Table Users
     Alter Column [Password] Varchar(12) Collate SQL_Latin1_General_CP1_CS_AS


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    quarta-feira, 29 de janeiro de 2020 21:14
    Moderador
  • Deleted
    quarta-feira, 29 de janeiro de 2020 23:25
  • Olá Junior, agradeço sua atenção.

    Então, instalaram SQL SERVER 2012 usando collation errado e vamos atualizar sistema é requisito que collation esteja correto.

    quinta-feira, 30 de janeiro de 2020 02:11
  • José, tenho banco teste para validar esse processo

    quinta-feira, 30 de janeiro de 2020 02:12
  • Marcos,

    Então, mas alterar o collation de 9000 é um trabalho grandioso. Pois como destaquei o collation se aplica no nível de coluna e não tabela.

    Não seria mais indicado inicialmente pensar alterar o collation do servidor?


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]


    quinta-feira, 30 de janeiro de 2020 17:03
    Moderador
  • Deleted
    quinta-feira, 30 de janeiro de 2020 20:13
  • Deleted
    quinta-feira, 30 de janeiro de 2020 20:53