

# Gerenciar agrupamentos e conjuntos de caracteres para o Amazon RDS para Microsoft SQL Server
<a name="Appendix.SQLServer.CommonDBATasks.Collation"></a>

Este tópico fornece orientações sobre como gerenciar agrupamentos e conjuntos de caracteres do Microsoft SQL Server no Amazon RDS. Ele explica como configurar agrupamentos durante a criação do banco de dados e modificá-los posteriormente, garantindo o tratamento adequado dos dados de texto com base nos requisitos de idioma e localidade. Além disso, ele aborda as práticas recomendadas para manter a compatibilidade e o desempenho em ambientes do SQL Server no Amazon RDS.

O SQL Server é compatível com agrupamentos em vários níveis. Você define o agrupamento de servidores padrão quando cria a instância de banco de dados. É possível substituir o agrupamento no nível de banco de dados, tabela ou coluna.

**Topics**
+ [Agrupamento no nível do servidor para o Microsoft SQL Server](#Appendix.SQLServer.CommonDBATasks.Collation.Server)
+ [Agrupamento no nível do banco de dados para o Microsoft SQL Server](#Appendix.SQLServer.CommonDBATasks.Collation.Database-Table-Column)

## Agrupamento no nível do servidor para o Microsoft SQL Server
<a name="Appendix.SQLServer.CommonDBATasks.Collation.Server"></a>

Ao criar uma instância de banco de dados do Microsoft SQL Server, você pode definir o agrupamento de servidor que você deseja usar. Se você não escolher um agrupamento diferente, o agrupamento no nível do servidor será padronizado como SQL\$1Latin1\$1General\$1CP1\$1CI\$1AS. O agrupamento do servidor é aplicado por padrão a todos os bancos de dados e objetos de banco de dados.

**nota**  
Não é possível alterar o agrupamento ao fazer a restauração a partir de um snapshot de banco de dados.

Atualmente, o Amazon RDS é compatível com os seguintes agrupamentos de servidores:


| Collation (Agrupamento) | Descrição | 
| --- | --- | 
|  Árabe\$1CI\$1AS  |  Arabic, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Chinese\$1PRC\$1BIN2  |  Chinese-PRC, ordem de classificação por pontos de código binário  | 
|  Chinese\$1PRC\$1CI\$1AS  |  Chinese-PRC, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Chinese\$1Taiwan\$1Stroke\$1CI\$1AS  |  Chinese-Taiwan-Stroke, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Danish\$1Norwegian\$1CI\$1AS  |  Danish-Norwegian, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Danish\$1Norwegian\$1CI\$1AS\$1KS  |  Danish-Norwegian, não diferencia letras maiúsculas de minúsculas, diferencia acentos, diferencia o tipo de kana, não diferencia a largura  | 
|  Danish\$1Norwegian\$1CI\$1AS\$1KS\$1WS  |  Danish-Norwegian, não diferencia letras maiúsculas de minúsculas, diferencia acentos, diferencia o tipo de kana, não diferencia a largura  | 
|  Danish\$1Norwegian\$1CI\$1AS\$1WS  |  Danish-Norwegian, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, diferencia a largura  | 
|  Danish\$1Norwegian\$1CS\$1AI  |  Danish-Norwegian, diferencia letras maiúsculas de minúsculas, não diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Danish\$1Norwegian\$1CS\$1AI\$1KS  |  Danish-Norwegian, diferencia letras maiúsculas de minúsculas, não diferencia acentos, diferencia o tipo de kana, não diferencia a largura  | 
|  Finnish\$1Swedish\$1100\$1BIN  |  Finnish-Swedish-100, classificação binária  | 
|  Finnish\$1Swedish\$1100\$1BIN2  |  Finnish-Swedish-100, classificação binária de comparação de ponto de código  | 
|  Finnish\$1Swedish\$1100\$1CI\$1AI  |  Finnish-Swedish 100, não diferencia letras maiúsculas de minúsculas, não diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Finnish\$1Swedish\$1100\$1CI\$1AS  |  Finnish-Swedish 100, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Finnish\$1Swedish\$1CI\$1AS  |  Finlandês, sueco e sueco (Finlândia) – não diferenciam maiúsculas de minúsculas, diferenciação de acentos, indiferentes ao tipo de kana, indiferentes à largura  | 
|  French\$1CI\$1AS  |  French, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Greek\$1CI\$1AS  |  Grego, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Greek\$1CS\$1AS  |  Grego, diferencia maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Hebrew\$1BIN  |  Hebraico, classificação binária  | 
|  Hebrew\$1CI\$1AS  |  Hebrew, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Japanese\$1BIN  | Japonês, tipo binário | 
|  Japanese\$1CI\$1AS  |  Japanese, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Japanese\$1CS\$1AS  |  Japanese, diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Japanese\$1XJIS\$1140\$1CI\$1AS  |  Japanese, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura, caracteres complementares, não diferencia o seletor de variação  | 
|  Japanese\$1XJIS\$1140\$1CI\$1AS\$1KS\$1VSS  |  Japanese, não diferencia letras maiúsculas de minúsculas, diferencia acentos, diferencia o tipo de kana, não diferencia a largura, caracteres complementares, diferencia o seletor de variação  | 
|  Japanese\$1XJIS\$1140\$1CI\$1AS\$1VSS  |  Japanese, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura, caracteres complementares, diferencia o seletor de variação  | 
|  japonês\$1XJIS\$1140\$1CS\$1AS\$1KS\$1WS  |  Japanese, diferencia letras maiúsculas de minúsculas, diferencia acentos, diferencia o tipo de kana, diferencia a largura, caracteres complementares, não diferencia o seletor de variação  | 
|  Korean\$1Wansung\$1CI\$1AS  |  Korean-Wansung, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Latin1\$1General\$1100\$1BIN  |  Latin1-General-100, tipo binário  | 
|  Latin1\$1General\$1100\$1BIN2  |  Latin1-General-100, ordem de classificação por pontos de código binário  | 
|  Latin1\$1General\$1100\$1BIN2\$1UTF8  |  Latin1-General-100, ordem de classificação por pontos de código binário, codificado em UTF-8  | 
|  Latin1\$1General\$1100\$1CI\$1AS  |  Latin1-General-100, não diferencia maiúsculas de minúsculas, diferenciação de acentos, indiferente ao tipo de kana, indiferente à largura  | 
|  Latin1\$1General\$1100\$1CI\$1AS\$1SC\$1UTF8  |  Latin1-General-100, não diferencia letras maiúsculas de minúsculas, diferencia acentos, caracteres complementares, codificação em UTF-8  | 
|  Latin1\$1General\$1BIN  |  Latin1-General, tipo binário  | 
|  Latin1\$1General\$1BIN2  |  Latin1-General, ordem de classificação por pontos de código binário  | 
|  Latin1\$1General\$1CI\$1AI  |  Latin1-General, não diferencia letras maiúsculas de minúsculas, não diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Latin1\$1General\$1CI\$1AS  |  Latin1-General, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  Latin1\$1General\$1CI\$1AS\$1KS  |  Latin1-General, não diferencia letras maiúsculas de minúsculas, diferencia acentos, diferencia o tipo de kana, não diferencia a largura  | 
|  Latin1\$1General\$1CS\$1AS  |  Latin1-Geral, diferencia maiúsculas de minúsculas, diferenciação de acentos, indiferente ao tipo de kana, indiferente à largura  | 
|  Modern\$1Spanish\$1CI\$1AS  |  Modern-Spanish, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  polish\$1ci\$1as  |  Polish, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  SQL\$11xCompat\$1CP850\$1CI\$1AS  |  Latin1-Geral, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura para dados do Unicode, ordem de classificação do SQL Server 49 na página de código 850 para dados que não são do Unicode  | 
|  SQL\$1Latin1\$1General\$1CP1\$1CI\$1AI  |  Latin1-Geral, não diferencia letras maiúsculas de minúsculas, não diferencia acentos, não diferencia o tipo de kana, não diferencia a largura para dados do Unicode, ordem de classificação do SQL Server 54 na página de código 1252 para dados que não são do Unicode  | 
|  **SQL\$1Latin1\$1General\$1CP1\$1CI\$1AS (padrão)**  |  Latin1-Geral, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura para dados do Unicode, ordem de classificação do SQL Server 52 na página de código 1252 para dados que não são do Unicode  | 
|  SQL\$1Latin1\$1General\$1CP1\$1CS\$1AS  |  Latin1-Geral, diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura para dados do Unicode, ordem de classificação do SQL Server 51 na página de código 1252 para dados que não são do Unicode  | 
|  SQL\$1Latin1\$1General\$1CP437\$1CI\$1AI  |  Latin1-Geral, não diferencia letras maiúsculas de minúsculas, não diferencia acentos, não diferencia o tipo de kana, não diferencia a largura para dados do Unicode, ordem de classificação do SQL Server 34 na página de código 437 para dados que não são do Unicode  | 
|  SQL\$1Latin1\$1General\$1CP850\$1bin  |  Latin1-General, ordem de classificação por pontos de código binário para dados do Unicode, ordem de classificação do SQL Server 40 na página de código 850 para dados que não são do Unicode  | 
|  SQL\$1Latin1\$1General\$1CP850\$1BIN2  |  Latin1-General, ordem de classificação por pontos de código binário para dados do Unicode, ordem de classificação do SQL Server 40 na página de código 850 para dados que não são do Unicode  | 
|  SQL\$1Latin1\$1General\$1CP850\$1CI\$1AI  |  Latin1-Geral, não diferencia letras maiúsculas de minúsculas, não diferencia acentos, não diferencia o tipo de kana, não diferencia a largura para dados do Unicode, ordem de classificação do SQL Server 44 na página de código 850 para dados que não são do Unicode  | 
|  SQL\$1Latin1\$1General\$1CP850\$1CI\$1AS  |  Latin1-Geral, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura para dados do Unicode, ordem de classificação do SQL Server 42 na página de código 850 para dados que não são do Unicode  | 
|  SQL\$1Latin1\$1General\$1Pref\$1CP850\$1CI\$1AS  |  Latin1-General-Pref, não diferencia maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura para dados do Unicode, ordem de classificação do SQL Server 183 na página de código 850 para dados que não são do Unicode  | 
|  SQL\$1Latin1\$1General\$1CP1256\$1CI\$1AS  |  Latin1-Geral, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura para dados do Unicode, ordem de classificação do SQL Server 146 na página de código 1256 para dados que não são do Unicode  | 
|  SQL\$1Latin1\$1General\$1CP1255\$1CS\$1AS  |  Latin1-Geral, diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura para dados do Unicode, ordem de classificação do SQL Server 137 na página de código 1255 para dados que não são do Unicode  | 
|  Thai\$1CI\$1AS  |  Thai, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 
|  turkish\$1ci\$1as  |  Turkish, não diferencia letras maiúsculas de minúsculas, diferencia acentos, não diferencia o tipo de kana, não diferencia a largura  | 

Você também pode recuperar a lista de agrupamentos aceitos programaticamente usando a AWS CLI.

```
aws rds describe-db-engine-versions --engine sqlserver-ee --list-supported-character-sets --query 'DBEngineVersions[].SupportedCharacterSets[].CharacterSetName' | sort -u
```

Para escolher o agrupamento:
+ Se você estiver usando o console do Amazon RDS, ao criar uma instância de banco de dados, escolha **Additional configuration** (Configuração adicional) e insira o agrupamento no campo **Collation** (Agrupamento). Para obter mais informações, consulte [Criar uma instância de banco de dados do Amazon RDS](USER_CreateDBInstance.md). 
+ Se você estiver usando a AWS CLI, use a opção `--character-set-name` com o comando `create-db-instance`. Para obter mais informações, consulte [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html).
+ Se você estiver usando a API do Amazon RDS, use o parâmetro `CharacterSetName` com a operação `CreateDBInstance`. Para obter mais informações, consulte [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html).

## Agrupamento no nível do banco de dados para o Microsoft SQL Server
<a name="Appendix.SQLServer.CommonDBATasks.Collation.Database-Table-Column"></a>

Para alterar o agrupamento padrão no banco de dados, na tabela ou na coluna, anule o nível do agrupamento ao criar um novo banco de dados ou um objeto de banco de dados. Por exemplo, se o agrupamento de servidores padrão for SQL\$1Latin1\$1General\$1CP1\$1CI\$1AS, você poderá alterá-lo para Mohawk\$1100\$1CI\$1AS para suporte ao agrupamento Mohawk. Se necessário, é possível até mesmo converter o tipo de argumentos em uma consulta, de modo que eles usem um tipo de agrupamento diferente.

Por exemplo, a consulta abaixo altera o agrupamento padrão da coluna AccountName para Mohawk\$1100\$1CI\$1AS

```
CREATE TABLE [dbo].[Account]
	(
	    [AccountID] [nvarchar](10) NOT NULL,
	    [AccountName] [nvarchar](100) COLLATE Mohawk_100_CI_AS NOT NULL 
	) ON [PRIMARY];
```

O mecanismo de banco de dados Microsoft SQL Server é compatível com Unicode por meio dos tipos de dados NCHAR, NVARCHAR e NTEXT. Por exemplo, se precisar de suporte para CJK, use esses tipos de dados Unicode para armazenamento de caracteres e substitua o agrupamento padrão de servidor ao criar seus bancos de dados e tabelas. Veja a seguir alguns links da Microsoft sobre agrupamentos e compatibilidade com o Unicode do SQL Server:
+ [Trabalhando com agrupamentos](http://msdn.microsoft.com/en-us/library/ms187582%28v=sql.105%29.aspx) 
+ [Collation and international terminology](http://msdn.microsoft.com/en-us/library/ms143726%28v=sql.105%29) 
+ [Using SQL Server collations](http://msdn.microsoft.com/en-us/library/ms144260%28v=sql.105%29.aspx) 
+ [Considerações internacionais para aplicativos de banco de dados e aplicativos do Mecanismo de Banco de Dados](http://msdn.microsoft.com/en-us/library/ms190245%28v=sql.105%29.aspx)