Criar restrições exclusivas
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores
Banco de Dados SQL do Azure
Instância Gerenciada SQL do Azure
banco 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
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.
No menu Designer de Tabelas, selecione Índices/Chaves.
Na caixa de diálogo Índices/Chaves, selecione Adicionar.
Na grade em Geral, selecione Tipo e escolha Chave Única na caixa de listagem suspensa à direita da propriedade, e em seguida, selecione Fechar.
No menu Arquivo, selecione Salvar nome da tabela.
Utilize Transact-SQL
Crie uma restrição exclusiva usando Transact-SQL
No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
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 colunaTransactionID
.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
No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta e selecione Executar. O exemplo cria uma restrição exclusiva nas colunas
PasswordHash
ePasswordSalt
na tabelaPerson.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
No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
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
No Pesquisador de Objetos , conecte-se a uma instância do Mecanismo de Banco de Dados.
Na barra Padrão, selecione Nova Consulta.
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