Como usar o comando agrupar o servidor SQL

Como usar o comando agrupar o servidor SQL
Este guia abordará os fundamentos de trabalhar com o comando colate do servidor SQL. Antes de chegarmos lá, o que é um agrupamento de servidor SQL?

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:

  1. Nível de instância do servidor SQL
  2. Nível de banco de dados
  3. Nível de coluna

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ão
-----------------------------------------------------------------------------------------------------------------
Latin1-general, insensível a minúsculas, sensível ao sotaque, insensível ao kanatype, insensível a largura para dados unicode, SQL Server Sort Order 52 no código Página 1252 para dados não unicode

Agrupamento 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:

Crie o Database Sample_database
Colate sql_latin1_general_cp1_cs_as;

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;
ALTER DATABASE SAMPLES_DATABASE COLLATE SQL_SLOVAK_CP1250_CS_AS;

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:

Selecione o nome, descrição do sistema.fn_helpCollations ();

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:

  1. Varchar
  2. Nvarchar
  3. CARACTERES
  4. Ntext
  5. TEXTO

Para definir uma coluna usando T-SQL, use a consulta de exemplo como mostrado:

Crie informações da tabela (
eu não fiz,
text_ varchar (50) colar sql_ebcdic280_cp1_cs_as
);

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.