So erstellen Sie eindeutige Einschränkungen
Gilt für: SQL Server 2016 (13.x) und höher Azure SQL-Datenbank Azure SQL Managed Instance
Sie können mithilfe von SQL Server Management Studio oder Transact-SQL eine eindeutige Einschränkung im SQL Server erstellen, um sicherzustellen, dass in bestimmte Spalten, die nicht zum Primärschlüssel gehören, Werte nicht mehrfach eingegeben werden können. Durch die Erstellung einer eindeutigen Einschränkung wird automatisch ein entsprechender eindeutiger Index erstellt.
Hinweis
Unter Primärschlüssel, Fremdschlüssel und eindeutiger Schlüssel in Azure Synapse Analytics finden Sie weitere Informationen zu eindeutigen Einschränkungen in Azure Synapse Analytics.
Berechtigungen
Erfordert die ALTER-Berechtigung für die Tabelle.
Verwenden von SQL Server Management Studio (SSMS)
So erstellen Sie eine eindeutige Einschränkung mit SSMS
Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Tabelle, der Sie eine eindeutige Einschränkung hinzufügen möchten, und klicken Sie auf Entwerfen.
Wählen Sie im Menü Tabellen-DesignerIndizes/Schlüsselaus.
Klicken Sie im Dialogfeld Indizes/Schlüssel auf Hinzufügen.
Klicken Sie im Raster unter Allgemein auf Typ, und wählen Sie im Dropdown-Listenfeld rechts neben der Eigenschaft den Eintrag Eindeutiger Schlüssel aus. Klicken Sie danach auf Schließen.
Klicken Sie im Menü Datei auf Tabellenname speichern.
Verwendung von Transact-SQL
So erstellen Sie eine eindeutige Einschränkung mit Transact-SQL
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen. Im Beispiel wird die Tabelle
TransactionHistoryArchive4
angelegt und eine UNIQUE-Einschränkung für die SpalteTransactionID
erstellt.USE AdventureWorks2022; GO CREATE TABLE Production.TransactionHistoryArchive4 ( TransactionID int NOT NULL, CONSTRAINT AK_TransactionID UNIQUE(TransactionID) ); GO
So erstellen Sie eine eindeutige Einschränkung für eine vorhandene Tabelle
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen. Im Beispiel werden für die Spalten
PasswordHash
undPasswordSalt
in der TabellePerson.Password
eine eindeutige Einschränkung erstellt.USE AdventureWorks2022; GO ALTER TABLE Person.Password ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt); GO
So erstellen Sie eine eindeutige Einschränkung in einer neuen Tabelle
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen. Im Beispiel wird eine Tabelle erstellt und dann wird eine eindeutige Einschränkung für die Spalte
TransactionID
definiert.USE AdventureWorks2022; GO CREATE TABLE Production.TransactionHistoryArchive2 ( TransactionID int NOT NULL, CONSTRAINT AK_TransactionID UNIQUE(TransactionID) ); GO
So erstellen Sie eine eindeutige Einschränkung für eine nullfähige Spalte
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen. Im Beispiel wird mithilfe der
CREATE UNIQUE INDEX
-Syntax eine gefilterte eindeutige Einschränkung erstellt, wobei nur die Eindeutigkeit für Nicht-NULL
-Werte erzwungen wird.USE AdventureWorks2022; GO CREATE UNIQUE INDEX UQ_AdventureWorksDWBuildVersion ON dbo.AdventureWorksDWBuildVersion (DBVersion) WHERE (DBVersion IS NOT NULL); GO