Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server 2016 (13.x) und spätere Versionen
Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
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.
Note
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
TransactionHistoryArchive4angelegt und eine UNIQUE-Einschränkung für die SpalteTransactionIDerstellt.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
PasswordHashundPasswordSaltin der TabellePerson.Passwordeine 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
TransactionIDdefiniert.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 -Syntax eine
CREATE UNIQUE INDEXeindeutige 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