O que é agrupamento do servidor SQL?
O agrupamento do SQL Server refere -se a um conjunto de regras que governam como classificar e comparar dados de caracteres em um banco de dados. O SQL Server fornece uma ampla gama de colações para lidar com dados de caracteres. Essas colações podem lidar com dados com idiomas e regiões conflitantes, permitindo que um banco de dados seja compatível com aplicativos em todo o mundo.
Níveis de agrupamento do servidor SQL
No servidor SQL, existem três níveis principais em que você pode definir os colações:
Observe que um nome de agrupamento pode ser um agrupamento do Windows ou nome de agrupamento fornecido pelo servidor SQL.
Você pode especificar o tipo de agrupamento ao criar um banco de dados. Se não for especificado ao criar um banco de dados, o SQL Server será padrão para o agrupamento usado pela instância do SQL Server.
Da mesma forma, se você não definir o agrupamento ao criar uma coluna, o servidor SQL será padrão para o agrupamento usado nesse banco de dados.
Nível de instância do servidor SQL
Você pode definir seu agrupamento preferido para sua instância do SQL Server durante a instalação. Se você já tiver o SQL Server instalado, pode usar o assistente do centro de instalação para redefinir seu tipo de agrupamento.
Para visualizar o agrupamento atual da sua instância do SQL Server, abra o SQL Server Management Studio.
Clique com o botão direito do mouse na instância do SQL Server e selecione a opção Propriedades:
Na janela Propriedades, selecione a guia do general no menu esquerdo. Isso mostrará as informações gerais sobre sua instância do SQL Server, incluindo o tipo de agrupamento padrão:
Em nosso exemplo, o agrupamento padrão é definido como SQL_LATIN1_GENERAL_CP1_C1_AS. Este é um agrupamento do SQL Server, em vez de um agrupamento do Windows, conforme indicado pelo prefixo SQL_.
A outra parte contém o nome do agrupamento, neste caso, latin1_general_cp_as. O valor IC indica que o agrupamento é insensível ao caso, enquanto significa que é sensível ao sotaque.
Para obter uma descrição mais detalhada do agrupamento padrão do SQL Server, use o procedimento sp_helpsort como mostrado:
EXEC SP_HELPSORT;O procedimento deve retornar informações como mostrado:
Servidor de agrupamento padrãoAgrupamento de nível de banco de dados
Podemos definir o agrupamento no nível do banco de dados. Como mencionado, a menos que explicitamente especificado, um banco de dados herdará o agrupamento da instância do SQL Server.
Para visualizar o agrupamento de um banco de dados no SQL Server Management Studio (SSMS), clique com o botão direito do mouse no banco de dados de destino e abra a janela Propriedades:
Na janela Propriedades, selecione a guia do general e navegue até a seção de manutenção. Você deve ver o agrupamento de banco de dados listado:
No nosso caso, o banco de dados herda o mesmo agrupamento que a instância do SQL Server.
Defina o agrupamento de banco de dados
Para definir o agrupamento desejado durante a criação do banco de dados, você pode usar a consulta como mostrado abaixo:
Na consulta acima, criamos um banco de dados com o agrupamento sql_latin1_general_cp1_cs_as. É semelhante ao sql_latin1_general_ci_ai, exceto que é sensível ao caso e sotaque, conforme indicado por CS e como no nome de agrupamento:
Defina o agrupamento em um banco de dados existente
O SQL Server permite alterar o agrupamento após a criação usando o comando ALTER DATABASE.
Por exemplo, a consulta a seguir altera o agrupamento do banco de dados de SQL_LATIN1_GENERAL_CP1_CS_AS para SQL_SLOVAK_CP1250_CS_AS:
Use sample_database;Antes de alterar o agrupamento do banco de dados, verifique se todas as conexões com o banco de dados estão fechadas. Caso contrário, a consulta falhará.
O SQL Server mostra as colações suportadas
Para visualizar as colações suportadas para a versão do seu SQL Server, use a consulta como mostrado abaixo:
Se você estiver usando o SQL Server 2019, fornecemos uma lista dos colações suportadas. Baixe o arquivo no recurso abaixo:
Agrupamento de nível de coluna
Na maioria dos casos, você deseja uma coluna de personagem para herdar um agrupamento semelhante ao banco de dados. No entanto, você pode especificar o agrupamento para uma coluna explicitamente durante a criação da coluna.
Lembre -se de que você só pode definir um agrupamento de colunas se a coluna for do tipo Char, como:
Para definir uma coluna usando T-SQL, use a consulta de exemplo como mostrado:
Crie informações da tabela (Para visualizar o agrupamento de uma coluna, você pode usar o procedimento SP_HELP, como mostrado abaixo:
EXEC SP_HELP INFO;O comando deve retornar informações sobre a coluna, incluindo o agrupamento como:
Conclusão
Neste artigo, exploramos o conceito de colação do servidor SQL, o que eles são e como podemos visualizar ou alterar colações em vários níveis, como o nível da instância do servidor SQL, o nível do banco de dados e o nível de coluna. Esperamos que você tenha achado este artigo útil. Confira os outros artigos de dica do Linux para obter mais dicas e tutoriais.