Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Относится к: SQL Server 2016 (13.x) и более поздние версии
Azure SQL Database
Azure SQL Managed Instance
SQL Database в Microsoft Fabric
Вы можете создать уникальное ограничение в SQL Server с помощью SQL Server Management Studio или Transact-SQL, чтобы не вводить повторяющиеся значения в определенных столбцах, которые не участвуют в первичном ключе. Создание ограничения уникальности автоматически приводит к созданию соответствующего уникального индекса.
Note
Сведения об уникальных ограничениях в Azure Synapse Analytics см. в статье "Первичный ключ", "Внешний ключ" и уникальный ключ в Azure Synapse Analytics.
Разрешения
Требуется разрешение ALTER на таблицу.
Использование SQL Server Management Studio (SSMS)
Создание уникального ограничения с помощью SSMS
В обозревателе объектовщелкните правой кнопкой мыши таблицу, в которую необходимо добавить ограничение уникальности, и выберите Конструктор.
В меню Конструктор таблиц выберите пункт Индексы и ключи.
В диалоговом окне Индексы и ключи нажмите Добавить.
В сетке в разделе "Общие" выберите "Тип " и выберите "Уникальный ключ " в раскрывающемся списке справа от свойства и нажмите кнопку "Закрыть".
В меню Файл выберите пункт Сохранить имя таблицы.
Использование Transact-SQL
Создание уникального ограничения с помощью Transact-SQL
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На панели "Стандартный" выберите "Создать запрос".
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере создается таблица
TransactionHistoryArchive4, а также создается уникальное ограничение в столбцеTransactionID.USE AdventureWorks2022; GO CREATE TABLE Production.TransactionHistoryArchive4 ( TransactionID int NOT NULL, CONSTRAINT AK_TransactionID UNIQUE(TransactionID) ); GO
Создание уникального ограничения для существующей таблицы
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На панели "Стандартный" выберите "Создать запрос".
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере создается ограничение уникальности в столбцах
PasswordHashиPasswordSaltв таблицеPerson.Password.USE AdventureWorks2022; GO ALTER TABLE Person.Password ADD CONSTRAINT AK_Password UNIQUE (PasswordHash, PasswordSalt); GO
Создание уникального ограничения для новой таблицы
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На панели "Стандартный" выберите "Создать запрос".
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере создается таблица и определяется ограничение уникальности в столбце
TransactionID.USE AdventureWorks2022; GO CREATE TABLE Production.TransactionHistoryArchive2 ( TransactionID int NOT NULL, CONSTRAINT AK_TransactionID UNIQUE(TransactionID) ); GO
Создание уникального ограничения для столбца, допускающего значение NULL
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На панели "Стандартный" выберите "Создать запрос".
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В примере создается отфильтрованное уникальное ограничение, используя синтаксис , обеспечивающее уникальность только для значений, отличных от
CREATE UNIQUE INDEX.USE AdventureWorks2022; GO CREATE UNIQUE INDEX UQ_AdventureWorksDWBuildVersion ON dbo.AdventureWorksDWBuildVersion (DBVersion) WHERE (DBVersion IS NOT NULL); GO