Partilhar via


Criar restrições exclusivas

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Banco de Dados SQL do AzureInstância Gerenciada SQL do Azurebanco de dados SQL no Microsoft Fabric

Você pode criar uma restrição exclusiva no SQL Server usando o SQL Server Management Studio ou Transact-SQL para garantir que nenhum valor duplicado seja inserido em colunas específicas que não participam de uma chave primária. A criação de uma restrição exclusiva cria automaticamente um índice exclusivo correspondente.

Observação

Para obter informações sobre restrições exclusivas no Azure Synapse Analytics, consulte Chave primária, chave estrangeira e chave exclusiva no Azure Synapse Analytics.

Permissões

Requer permissão ALTER na tabela.

Usar o SQL Server Management Studio (SSMS)

Criar uma restrição exclusiva usando o SSMS

  1. No Pesquisador de Objetos , clique com o botão direito do mouse na tabela à qual você deseja adicionar uma restrição exclusiva e selecione Design.

  2. No menu Designer de Tabelas, selecione Índices/Chaves.

  3. Na caixa de diálogo Índices/Chaves, selecione Adicionar.

  4. Na grade em Geral, selecione Tipo e escolha Chave Única na caixa de listagem suspensa à direita da propriedade, e em seguida, selecione Fechar.

  5. No menu Arquivo, selecione Salvar nome da tabela.

Utilize Transact-SQL

Crie uma restrição exclusiva usando Transact-SQL

  1. No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, selecione Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. O exemplo cria a tabela TransactionHistoryArchive4 e cria uma restrição exclusiva na coluna TransactionID.

    USE AdventureWorks2022;  
    GO  
    CREATE TABLE Production.TransactionHistoryArchive4  
     (  
       TransactionID int NOT NULL,   
       CONSTRAINT AK_TransactionID UNIQUE(TransactionID)   
    );   
    GO  
    

Criar uma restrição exclusiva em uma tabela existente

  1. No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, selecione Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. O exemplo cria uma restrição exclusiva nas colunas PasswordHash e PasswordSalt na tabela Person.Password.

    USE AdventureWorks2022;   
    GO  
    ALTER TABLE Person.Password   
    ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt);   
    GO  
    
    

Criar uma restrição exclusiva em uma nova tabela

  1. No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, selecione Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. O exemplo cria uma tabela e define uma restrição exclusiva na coluna TransactionID.

    USE AdventureWorks2022;  
    GO  
    CREATE TABLE Production.TransactionHistoryArchive2  
    (  
       TransactionID int NOT NULL,  
       CONSTRAINT AK_TransactionID UNIQUE(TransactionID)  
    );  
    GO  
    

Criar uma restrição exclusiva em uma coluna anulável

  1. No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, selecione Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. O exemplo cria uma restrição filtrada exclusiva usando a sintaxe CREATE UNIQUE INDEX, impondo apenas exclusividade em valores nãoNULL.

    USE AdventureWorks2022;  
    GO
    CREATE UNIQUE INDEX UQ_AdventureWorksDWBuildVersion
    ON dbo.AdventureWorksDWBuildVersion (DBVersion)
    WHERE (DBVersion IS NOT NULL);
    GO