Por padrão, cada coluna em um banco de dados SQL Server usa o agrupamento que foi especificado no nível do banco de dados. E, por padrão, o agrupamento do banco de dados é obtido do agrupamento do servidor. No entanto, essas configurações de agrupamento podem ser substituídas, tanto no nível do banco de dados quanto no nível da coluna, definindo explicitamente o agrupamento nesse nível.
Esta página demonstra como especificar o agrupamento de uma coluna. Você pode definir o agrupamento adicionando o T-SQL
COLLATE
cláusula para o CREATE TABLE
e ALTER TABLE
declarações. Ao usar essas instruções, você define a coluna e suas propriedades, incluindo qualquer configuração de agrupamento. O COLLATE
A cláusula é opcional, portanto, se você não a incluir, a coluna simplesmente usará o agrupamento padrão do banco de dados.Definir o agrupamento
Aqui está um exemplo de especificação do agrupamento ao criar uma tabela:
CREATE TABLE Tasks ( TaskId int IDENTITY(1,1) NOT NULL PRIMARY KEY, TaskName nvarchar(255) COLLATE French_CI_AI NOT NULL );
Isso cria uma tabela chamada
Tasks
com duas colunas. Definimos o agrupamento da segunda coluna (TaskName
) para French_CI_AI
. Se não fizéssemos isso, teria usado o agrupamento de banco de dados padrão. Alterar o agrupamento
Neste próximo exemplo, altero o agrupamento da coluna para
Modern_Spanish_CI_AI_WS
:ALTER TABLE Tasks ALTER COLUMN TaskName nvarchar(255) COLLATE Modern_Spanish_CI_AI_WS NOT NULL GO
Observe que você não pode alterar o agrupamento de uma coluna referenciada por qualquer um dos seguintes:
- Uma coluna computada
- Um índice
- Estatísticas de distribuição
- Um
CHECK
restrição - Uma
FOREIGN KEY
restrição
Verifique o agrupamento
Se você usa SSMS, pode verificar o agrupamento de qualquer coluna clicando com o botão direito do mouse nessa coluna no Pesquisador de objetos e selecionando
Properties
. No Transact-SQL, há algumas maneiras diferentes de retornar o agrupamento de uma coluna. Veja como verificar o agrupamento de uma coluna usando T-SQL.