Definir ou alterar a ordenação do servidor
Aplica-se a: SQL Server Instâ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
eNVARCHAR
em exibições do sistema e funções do sistema e dos objetos emtempdb
(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 propriedadeSQLCOLLATION
do comandosetup
. 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.