Definir ou alterar a ordenação do servidor

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

A ordenação do servidor atua como a ordenação padrão para todos os bancos de dados do sistema que foram instalados com a instância do SQL Server e também para os bancos de dados de usuário criados recentemente.

Você deve considerar a ordenação no nível do servidor com atenção, pois ela pode afetar:

  • Regras de classificação e comparação em =, JOIN, ORDER BY e em outros operadores que comparam dados textuais.
  • A ordenação das colunas CHAR, VARCHAR, NCHAR e NVARCHAR em exibições do sistema e funções do sistema e dos objetos em tempdb (por exemplo, tabelas temporárias).
  • Nomes das variáveis, dos cursores e dos rótulos de GOTO. Por exemplo, as variáveis @pi e @PI serão consideradas variáveis ​​diferentes se a ordenação no nível do servidor diferenciar maiúsculas de minúsculas, e serão consideradas variáveis semelhantes ​​se a ordenação no nível do servidor não diferenciar maiúsculas de minúsculas.

Ordenação do servidor no SQL Server

A ordenação do servidor é especificada durante a instalação do SQL Server. A ordenação padrão no nível do servidor é baseada na localidade do sistema operacional.

Por exemplo, a ordenação padrão para sistemas que usam en-US (inglês dos Estados Unidos) é SQL_Latin1_General_CP1_CI_AS. Para obter mais informações, incluindo a lista de localidade do sistema operacional para mapeamentos de ordenação padrão, confira a seção "Ordenações no nível de servidor" de Ordenação e suporte a Unicode.

Observação

A ordenação no nível do servidor para LocalDB do SQL Server Express é SQL_Latin1_General_CP1_CI_AS e não pode sofrer alterações durante ou após a instalação.

Alterar a ordenação do servidor no SQL Server

Alterar a ordenação padrão para uma instância do SQL Server pode ser uma operação complexa.

Observação

Em vez de alterar a ordenação padrão de uma instância do SQL Server, é possível especificar uma ordenação padrão para cada novo banco de dados criado por meio da cláusula COLLATE das instruções CREATE DATABASE e ALTER DATABASE. Para saber mais, veja Definir ou alterar a ordenação de banco de dados.

Alterar a ordenação da instância envolve as seguintes etapas:

  • Verifique se você tem todas as informações ou scripts necessários para recriar seus bancos de dados de usuário e todos os objetos neles.

  • Exporte todos os seus dados usando uma ferramenta como bcp Utility. Para obter mais informações, confira Importação e exportação em massa de dados (SQL Server).

  • Descarte todos os bancos de dados de usuário.

  • Recompile o banco de dados master ao especificar a nova ordenação na propriedade SQLCOLLATION do comando setup. Por exemplo:

    Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName
    /SQLSYSADMINACCOUNTS=accounts [ /SAPWD= StrongPassword ]
    /SQLCOLLATION=CollationName  
    

    Para obter mais informações, consulte Recriar bancos de dados do sistema.

  • Crie todos os bancos de dados e todos os objetos neles.

  • Importe todos os dados.

Configuração da ordenação do servidor na Instância Gerenciada de SQL do Azure

A ordenação em nível de servidor na Instância Gerenciada de SQL do Azure pode ser especificada quando a instância é criada e não pode ser alterada posteriormente. Você pode definir a ordenação no nível de servidor por meio portal do Azure ou do modelo do PowerShell e do Resource Manager enquanto você estiver criando a instância. A ordenação padrão no nível do servidor é SQL_Latin1_General_CP1_CI_AS.

Se você estiver realizando a migração de bancos de dados do SQL Server para a Instância Gerenciada de SQL do Azure, verifique a ordenação do servidor no SQL Server de origem ao usar a função SERVERPROPERTY(N'Collation') e crie uma instância gerenciada que corresponda à ordenação do SQL Server. A migração de um banco de dados do SQL Server para a Instância Gerenciada de SQL com as ordenações no nível do servidor que não são correspondentes pode causar diversos erros inesperados nas consultas. Não é possível alterar a ordenação no nível do servidor na instância gerenciada existente.

Ordenações no Banco de Dados SQL do Azure

Você não pode alterar ou definir a ordenação do servidor lógico no Banco de Dados SQL do Azure, mas pode configurar as ordenações de cada banco de dados para dados e para o catálogo. A ordenação do catálogo determina a ordenação dos metadados do sistema, como identificadores de objetos. Ambas as ordenações podem ser especificadas de maneira independente quando você cria o banco de dados no portal do Azure, em T-SQL com CREATE DATABASE e no PowerShell com New-AzSqlDatabase.