Criar restrições exclusivas
Aplica-se a: SQL Server 2016 (13.x) e posterior Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
Você pode criar uma restrição exclusiva no SQL Server usando o SQL Server Management Studio ou o Transact-SQL para assegurar que nenhum valor duplicado seja digitado em colunas específicas que não integram uma chave primária. Criar 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 do
Exige a permissão ALTER na tabela.
Usar SSMS (SQL Server Management Studio)
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 Tabela , selecione Índices/Chaves.
Na caixa de diálogo Índices/Chaves, selecione Adicionar.
Na grade em Geral, selecione Tipo e Chave exclusiva, na caixa de lista suspensa à direita da propriedade e clique em Close.
No menu Arquivo, selecione Salvar nome da tabela.
Usar o Transact-SQL
Criar uma restrição exclusiva usando o 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 única 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 exclusiva filtrada usando a sintaxe
CREATE UNIQUE INDEX
, impondo apenas exclusividade em não valoresNULL
.USE AdventureWorks2022; GO CREATE UNIQUE INDEX UQ_AdventureWorksDWBuildVersion ON dbo.AdventureWorksDWBuildVersion (DBVersion) WHERE (DBVersion IS NOT NULL); GO