Definir ou alterar a ordenação de banco de dados

Este tópico descreve como definir e alterar a ordenação de banco de dados no SQL Server 2014 usando SQL Server Management Studio ou Transact-SQL. Se nenhuma ordenação for especificada, será usada a ordenação do servidor.

Neste tópico

Antes de começar

Limitações e Restrições

  • Ordenações somente Unicode do Windows podem ser usadas somente com a cláusula COLLATE para aplicar ordenações aos tipos de dados nchar, nvarchar e ntext em dados nos níveis de coluna e de expressão. Não é possível usá-los com a cláusula COLLATE para alterar a ordenação de uma instância de banco de dados ou de servidor.

  • Se a ordenação especificada ou a ordenação usada pelo objeto referenciado usar uma página de código sem suporte do Windows, o Mecanismo de Banco de Dados exibirá um erro.

Recomendações

  • Você pode encontrar os nomes de ordenação com suporte no Windows Collation Name (Transact-SQL) e SQL Server Collation Name (Transact-SQL) ou pode usar a função do sistema sys.fn_helpcollations (Transact-SQL).

  • Ao alterar a ordenação de banco de dados, você altera o seguinte:

    • Qualquer coluna char, varchar, text, nchar, nvarchar ou ntext nas tabelas do sistema são alteradas para a nova ordenação.

    • Todos os parâmetros char, varchar, text, nchar, nvarchar ou ntext e valores de retorno escalar para procedimentos armazenados e funções definidas pelo usuário existentes são alterados para a nova ordenação.

    • Os tipos de dados do sistema char, varchar, text, nchar, nvarchar ou ntext e todos os tipos de dados definidos pelo usuário com base nesses tipos de dados do sistema são alterados para a nova ordenação padrão.

  • Você pode alterar a ordenação de qualquer novo objeto que seja criado em um banco de dados de usuário, usando a cláusula COLLATE da instrução ALTER DATABASE. Essa instrução não altera a ordenação das colunas em nenhuma tabela existente definida pelo usuário. Essas podem ser alteradas usando-se a cláusula COLLATE de ALTER TABLE.

Segurança

Permissões

CREATE DATABASE
Requer a permissão CREATE DATABASE no banco de dados master ou requer a permissão CREATE ANY DATABASE ou ALTER ANY DATABASE.

ALTER DATABASE
Requer a permissão ALTER no banco de dados.

Como usar o SQL Server Management Studio.

Para definir ou alterar a ordenação de banco de dados

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados do SQL Server, expanda essa instância e expanda Bancos de Dados.

  2. Se você estiver criando um novo banco de dados, clique com o botão direito do mouse em Bancos de Dados e clique em Novo Banco de Dados. Se você não desejar a ordenação padrão, clique na página Opções e selecione uma ordenação na lista suspensa Ordenação.

    De maneira alternativa, se o banco de dados já existir, clique com o botão direito do mouse no banco de dados desejado e clique em Propriedades. Clique na página Opções e selecione uma ordenação na lista suspensa Ordenação.

  3. Quando terminar, clique em OK.

Usando o Transact-SQL

Para definir a ordenação de banco de dados

  1. Conecte-se ao Mecanismo de Banco de Dados.

  2. Na barra Padrão, clique em Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar. Este exemplo mostra como usar a cláusula COLLATE para especificar um nome de ordenação. O exemplo cria o banco de dados MyOptionsTest que usa a ordenação Latin1_General_100_CS_AS_SC. Depois de criar o banco de dados, execute a instrução SELECT para verificar a configuração.

USE master;  
GO  
IF DB_ID (N'MyOptionsTest') IS NOT NULL  
DROP DATABASE MyOptionsTest;  
GO  
CREATE DATABASE MyOptionsTest  
COLLATE Latin1_General_100_CS_AS_SC;  
GO  
  
--Verify the collation setting.  
SELECT name, collation_name  
FROM sys.databases  
WHERE name = N'MyOptionsTest';  
GO  
  

Para alterar a ordenação de banco de dados

  1. Conecte-se ao Mecanismo de Banco de Dados.

  2. Na barra Padrão, clique em Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar. Este exemplo mostra como usar a cláusula COLLATE em uma instrução ALTER DATABASE para alterar o nome da ordenação. Execute a instrução SELECT para verificar a alteração.

USE master;  
GO  
ALTER DATABASE MyOptionsTest  
COLLATE French_CI_AS ;  
GO  
  
--Verify the collation setting.  
SELECT name, collation_name  
FROM sys.databases  
WHERE name = N'MyOptionsTest';  
GO  
  

Consulte Também

Suporte a ordenações e a Unicode
sys.fn_helpcollations (Transact-SQL)
sys.databases (Transact-SQL)
Nome de ordenação do SQL Server (Transact-SQL)
Nome de ordenação do Windows (Transact-SQL)
COLLATE (Transact-SQL)
Precedência de ordenação (Transact-SQL)
CREATE TABLE (Transact-SQL)
CREATE DATABASE (SQL Server Transact-SQL)
ALTER TABLE (Transact-SQL)
ALTER DATABASE (Transact-SQL)