1. Главная страница » Компьютеры

Create unique index sql

Автор: | 16.12.2019

В данном материале будут рассмотрены такие объекты базы данных Microsoft SQL Server как индексы, Вы узнаете, что такое индексы, какие типы индексов бывают, как их создавать, оптимизировать и удалять.

Что такое индексы в базе данных?

Индекс — это объект базы данных, который представляет собой структуру данных, состоящую из ключей, построенных на основе одного или нескольких столбцов таблицы или представления, и указателей, которые сопоставляются с местом хранения заданных данных. Индексы предназначены для более быстрого получения строк из таблицы, другими словами, индексы обеспечивают быстрый поиск данных в таблице, что значительно повышает производительность запросов и приложений. Индексы также могут быть использованы и для обеспечения уникальности строк таблицы, гарантируя тем самым целостность данных.

Типы индексов в Microsoft SQL Server

В Microsoft SQL Server существуют следующие типы индексов:

  • Кластеризованный (Clustered) – это индекс, который хранит данные таблицы в отсортированном, по значению ключа индекса, виде. У таблицы может быть только один кластеризованный индекс, так как данные могут быть отсортированы только в одном порядке. По возможности каждая таблица должна иметь кластеризованный индекс, если у таблицы нет кластеризованного индекса, такая таблица называется «кучей». Кластеризованный индекс создается автоматически при создании ограничений PRIMARY KEY (первичный ключ) и UNIQUE, если до этого кластеризованный индекс для таблицы еще не был определен. В случае создания кластеризованного индекса для таблицы (кучи), в которой есть некластеризованные индексы, то после создания все их необходимо перестроить.
  • Некластеризованный (Nonclustered) – это индекс, который содержит значение ключа и указатель на строку данных, содержащую значение этого ключа. У таблицы может быть несколько некластеризованных индексов. Создаваться некластеризованные индексы могут как на таблицах с кластеризованным индексом, так и без него. Именно этот тип индекса используется для повышения производительности часто используемых запросов, так как некластеризованные индексы обеспечивают быстрый поиск и доступ к данным по значениям ключа;
  • Фильтруемый (Filtered) – это оптимизированный некластеризованный индекс, который использует предикат фильтра для индексирования части строк в таблице. Если хорошо спроектировать такой тип индекса, то он может повысить производительность запросов, а также снизить затраты на обслуживание и хранение индексов по сравнению с полнотабличными индексами;
  • Уникальный (Unique) – это индекс, который обеспечивает отсутствие повторяющихся (одинаковых) значений ключа индекса, гарантируя тем самым уникальность строк по данному ключу. Уникальными могут быть как кластеризованные, так и некластеризованные индексы. Если создавать уникальный индекс по нескольким столбцам, индекс гарантирует уникальность каждой комбинации значений в ключе. При создании ограничений PRIMARY KEY или UNIQUE SQL сервер автоматически создает уникальный индекс для ключевых столбцов. Уникальный индекс может быть создан только в том случае, если у таблицы на текущий момент отсутствуют дублирующие значения по ключевым столбцам;
  • Колоночный (Columnstore) – это индекс, основанный на технологии хранения данных в виде столбцов. Данный тип индекса эффективно использовать для больших хранилищ данных, поскольку он может увеличить производительность запросов к хранилищу до 10 раз и также до 10 раз уменьшить размер данных, так как данные в Columnstore индексе сжимаются. Существуют как кластеризованные колоночные индексы, так и некластеризованные;
  • Полнотекстовый (Full-text) – это специальный тип индекса, который обеспечивает эффективную поддержку сложных операций поиска слов в символьных строковых данных. Процесс создания и обслуживания полнотекстового индекса называется «заполнением». Существует такие типы заполнения как: полное заполнение и заполнение на основе отслеживания изменений. По умолчанию SQL сервер полностью заполняет новый полнотекстовый индекс сразу после его создания, но на это может потребоваться значительный объем ресурсов, в зависимости от размеров таблицы, поэтому есть возможность откладывать полное заполнение. Заполнение на основе отслеживания изменений используется для обслуживания полнотекстового индекса после его первоначального полного заполнения;
  • Пространственный (Spatial) – это индекс, который обеспечивает возможность более эффективного использования конкретных операций на пространственных объектах в столбцах с типом данных geometry или geography. Данный тип индекса может быть создан только для пространственного столбца, также таблица, для которой определяется пространственный индекс, должна содержать первичный ключ (PRIMARY KEY);
  • XML – это еще один специальный тип индекса, который предназначен для столбцов с типом данных XML. Благодаря XML-индексу повышается эффективность обработки запросов к XML столбцам. Существует два вида XML-индекса: первичные и вторичные. Первичный XML-индекс индексирует все теги, значения и пути, хранимые в XML столбце. Он может быть создан, только если у таблицы есть кластеризованный индекс по первичному ключу. Вторичный XML-индекс может быть создан, только если у таблицы есть первичный XML-индекс и используется он для повышения производительности запросов по определенному типу обращения к XML-столбцу, в связи с этим существует несколько типов вторичных индексов: PATH, VALUE и PROPERTY;
  • Также существуют специальные индексы для таблиц, оптимизированных для памяти (In-Memory OLTP) такие как: Хэш (Hash) индексы и некластеризованные индексы, оптимизированные для памяти, которые создаются для сканирования диапазона и упорядоченного сканирования.
Читайте также:  Beyond good and evil жемчужины

Создание и удаление индексов в Microsoft SQL Server

Перед тем как приступать к созданию индекса его необходимо хорошо спроектировать, для того чтобы эффективно использовать этот индекс, так как плохо спроектированные индексы могут не увеличить производительность, а наоборот снизить ее. Например, большое количество индексов в таблице снижает производительность инструкций INSERT, UPDATE, DELETE и MERGE, потому что при изменении данных в таблице все индексы должны быть изменены соответствующим образом. Общие рекомендации по проектированию индексов мы с Вами рассмотрим в отдельном материале, а сейчас давайте переходить непосредственно к рассмотрению процесса создания и удаления индексов.

Примечание! В качестве SQL сервера у меня выступает версия Microsoft SQL Server 2016 Express.

Создание индексов

Для создания индексов в Microsoft SQL Server существует два способа: первый – это с помощью графического интерфейса среды SQL Server Management Studio (SSMS), и второй – это с помощью языка Transact-SQL, мы с Вами разберем оба способа.

Исходные данные для примеров

Давайте представим, что у нас есть таблица с товарами под названием TestTable, в которой есть три столбца:

    Product >Пример создания кластеризованного индекса

Как я уже говорил, кластеризованный индекс создается автоматически, если мы, например, при создании таблицы указываем конкретный столбец в качестве первичного ключа (PRIMARY KEY), но так как мы этого не сделали, давайте рассмотрим пример самостоятельного создания кластеризованного индекса.

Для создания кластеризованного индекса мы можем у таблицы указать первичный ключ, и тем самым кластеризованный индекс будет создан автоматически или мы можем создать кластеризованный индекс отдельно.

Для примера давайте просто создадим кластеризованный индекс, без создания первичного ключа. Сначала сделаем это с помощью Management Studio.

Открываем SSMS и в обозревателе объектов находим нужную таблицу и щелкаем правой кнопкой мыши по пункту «Индексы», выбираем «Создать индекс» и тип индекса, в нашем случае «Кластеризованный».

Откроется форма «Новый индекс», где нам необходимо указать имя нового индекса (оно должно быть уникальным в пределах таблицы), также указываем, будет ли этот индекс уникальным, если мы говорим об идентификаторе товара в таблице товаров, то, конечно же, он должен быть уникальным. Потом выбираем столбец (ключ индекса), на основе которого у нас будет создан кластеризованный индекс, т.е. будут отсортированы строки данных в таблице, с помощью кнопки «Добавить».

После ввода всех необходимых параметров жмем «ОК», в итоге будет создан кластеризованный индекс.

Точно также можно было бы создать кластеризованный индекс, используя инструкцию T-SQL CREATRE INDEX, например, вот так

Или, как мы уже говорили, можно было бы использовать и инструкцию создания первичного ключа, например

Пример создания некластеризованного индекса с включенными столбцами

Сейчас давайте рассмотрим пример создания некластеризованного индекса, при этом мы укажем столбцы, которые не будет являться ключевыми, но будут включаться в индекс. Это полезно в тех случаях, когда Вы создаете индекс для конкретного запроса, например, для того чтобы индекс полностью покрывал запрос, т.е. содержал все столбцы (это называется «Покрытием запроса»). Благодаря покрытию запроса повышается производительность, так как оптимизатор запросов может найти все значения столбцов в индексе, при этом не обращаясь к данным таблиц, что приводит к меньшему числу дисковых операций ввода-вывода. Но помните, что включение в индекс неключевых столбцов влечет за собой увеличение размера индекса, т.е. для хранения индекса потребуется больше места на диске, а также может повлечь и снижение производительности операций INSERT, UPDATE, DELETE и MERGE на базовой таблице.

Для того чтобы создать некластеризованный индекс с помощью графического интерфейса Management Studio, мы также находим нужную таблицу и пункт индексы, только в данном случае мы выбираем «Создать -> Некластеризованный индекс».

После открытия формы «Новый индекс» мы указываем название индекса, добавляем ключевой столбец или столбцы с помощью кнопки «Добавить», например, для нашего тестового случая давайте укажем CategoryID.

Далее переходим на вкладку «Включено столбцы» и с помощью кнопки «Добавить» добавляем столбцы, которые мы хотим включить в индекс, в нашем случае, например, ProductName.

На Transact-SQL это будет выглядеть следующим образом.

Пример удаления индекса в Microsoft SQL Server

Для того чтобы удалить индекс можно щелкнуть правой кнопкой по нужному индексу и нажать «Удалить», затем подтвердить свое действия нажав «ОК».

или также можно использовать инструкцию DROP INDEX, например

Следует отметить, что инструкция DROP INDEX неприменима к индексам, которые были созданы путем создания ограничений PRIMARY KEY и UNIQUE. В данном случае для удаления индекса нужно использовать инструкцию ALTER TABLE с предложением DROP CONSTRAINT.

Оптимизация индексов в Microsoft SQL Server

В результате выполнения операций обновления, добавления или удаления данных в таблицах SQL сервер автоматически вносит соответствующие изменения в индексы, но со временем все эти изменения могут вызвать фрагментацию данных в индексе, т.е. они окажутся разбросанными по базе данных. Фрагментация индексов влечет за собой снижение производительности запросов, поэтому периодически необходимо выполнять операции обслуживания индексов, а именно дефрагментацию, к таким можно отнести операции реорганизации и перестроения индексов.

В каких случаях использовать реорганизацию индекса, а в каких перестроение?

Чтобы ответить на этот вопрос сначала необходимо определить степень фрагментации индекса, так как в зависимости от фрагментации индекса тот или иной метод дефрагментации будет предпочтительней и эффективней. Для определения степени фрагментации индекса можно использовать системную табличную функцию sys.dm_db_index_physical_stats, которая возвращает подробные сведения о размере и фрагментации индексов. Например, используя следующий запрос, Вы можете узнать степень фрагментации индексов у всех таблиц в текущей базе данных.

В данном случае нас интересует столбец avg_fragmentation_in_percent, т.е. процентная доля логической фрагментации.

Так вот, Microsoft рекомендует:

  • Если степень фрагментации менее 5%, то реорганизацию или перестроение индекса вообще не стоит запускать;
  • Если степень фрагментации от 5 до 30%, то имеет смысл запустить реорганизацию индекса, так как данная операция использует минимальные системные ресурсы и не требует долговременных блокировок;
  • Если степень фрагментации более 30%, то необходимо выполнять перестроение индекса, так как данная операция, при значительной фрагментации, дает больший эффект чем операция реорганизации индекса.

Лично я могу добавить следующее, если у Вас небольшая компания и база данных не требует максимальной отдачи в режиме 24 часа в сутки, т.е. она не суперактивная БД, то Вы можете смело периодически выполнять операцию перестроения индексов, при этом даже не определяя степень фрагментации.

Реорганизация индексов

Реорганизация индекса – это процесс дефрагментации индекса, который дефрагментирует конечный уровень кластеризованных и некластеризованных индексов по таблицам и представлениям, физически переупорядочивая страницы концевого уровня в соответствии с логическим порядком (слева направо) конечных узлов.

Для реорганизации индекса можно использовать как графический инструмент SSMS, так и инструкцию Transact-SQL.

Реорганизация индекса с помощью Management Studio

Реорганизация индекса с помощью Transact-SQL

Перестроение индексов

Перестроение индекса – это процесс, при котором происходит удаление старого индекса и создание нового, в результате чего фрагментация устраняется.

Для перестроения индексов можно использовать два способа.

Первый. Используя инструкцию ALTER INDEX с предложением REBUILD. Эта инструкция заменяет инструкцию DBCC DBREINDEX. Обычно для массового перестроения индексов используется именно этот способ.

И второй, используя инструкцию CREATE INDEX с предложением DROP_EXISTING. Можно использовать, например, для перестроения индекса с изменением его определения, т.е. добавления или удаления ключевых столбцов.

В Management Studio функционал для перестроения также доступен. Правой кнопкой по нужному индексу «Перестроить».

На этом материал по основам индексов в Microsoft SQL Server закончен, если Вас интересует язык T-SQL, то рекомендую почитать мою книгу «Путь программиста T-SQL», удачи!

CREATE INDEX — данный запрос используется для создания индексов в таблице.

Индексы позволяют быстрее находить нужные данные, без чтения всей таблицы данных.

Пользователь не может увидеть индексы, они просто используются для ускорения поиска/запроса.

Замечание: Обновления таблицы с индексами занимает большее время, чем обновления таблицы без индексов (потому что индексы тоже нуждаются в обновлении). Итак, рекомендуется создавать только один индекс на таблицу (одна колонка) в которой будет часто производится поиск.

Синтаксис SQL CREATE INDEX

Создания индекса в таблице. Повторяющиеся значения допускаются:

Синтаксис SQL CREATE UNIQUE INDEX

Создания индекса в таблице. Повторяющиеся значения не допускаются:

Замечание: Синтаксис для создания индексов не одинаковый в базах данных. Поэтому: Проверьте синтаксис перед созданием индексов в базе данных.

Пример CREATE INDEX

SQL запрос создает индекс с именем "PIndex" в колонке "LastName" таблице "Persons":

Если вы хотите создать комбинированный индекс, то можно перечислить имена столбцов в скобках через запятую:

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server База данных SQL Azure Azure Synapse Analytics (хранилище данных SQL) Parallel Data Warehouse APPLIES TO: SQL Server Azure SQL Database Azure Synapse Analytics (SQL DW) Parallel Data Warehouse

В данном разделе описывается создание уникальных индексов в таблице в SQL Server SQL Server с помощью SQL Server Management Studio SQL Server Management Studio или Transact-SQL Transact-SQL . This topic describes how to create a unique index on a table in SQL Server SQL Server by using SQL Server Management Studio SQL Server Management Studio or Transact-SQL Transact-SQL . Уникальный индекс гарантирует, что ключ индекса не будет содержать одинаковых значений, а значит, каждая строка в таблице будет уникальна. A unique index guarantees that the index key contains no duplicate values and therefore every row in the table is in some way unique. Нет существенных различий между созданием ограничения UNIQUE и созданием уникального индекса, не зависящего от ограничения. There are no significant differences between creating a UNIQUE constraint and creating a unique index that is independent of a constraint. Проверка данных происходит подобным же образом, и оптимизатор запросов не делает различия между уникальным индексом, который создан ограничением, и индексом, созданным вручную. Data validation occurs in the same manner, and the query optimizer does not differentiate between a unique index created by a constraint or manually created. Однако при создании ограничения UNIQUE для столбца назначение индекса становится очевидным. However, creating a UNIQUE constraint on the column makes the objective of the index clear. Дополнительные сведения об ограничениях UNIQUE см. в разделе Unique Constraints and Check Constraints. For more information on UNIQUE constraints, see Unique Constraints and Check Constraints.

При создании уникального индекса можно установить параметр пропуска дублирующихся ключей. When you create a unique index, you can set an option to ignore duplicate keys. Если для этого параметра установлено значение Да , то при попытке создать дублирующиеся ключи путем добавления данных, которые влияют на несколько строк (при помощи инструкции INSERT), строка, содержащая дубликат, добавлена не будет. If this option is set to Yes and you attempt to create duplicate keys by adding data that affects multiple rows (with the INSERT statement), the row containing a duplicate is not added. Если для параметра установлено значение Нет, вся операция вставки завершится неудачно и будет выполнен откат всех данных. If it is set to No, the entire insert operation fails and all the data is rolled back.

Нельзя создать уникальный индекс для одного столбца, если в более чем одной строке этого столбца содержится значение NULL. You cannot create a unique index on a single column if that column contains NULL in more than one row. Нельзя также создать уникальный индекс для нескольких столбцов, если в более чем одной строке такой комбинации столбцов содержится значение NULL. Similarly, you cannot create a unique index on multiple columns if the combination of columns contains NULL in more than one row. При индексировании такие значения будут рассматриваться как дубликаты. These are treated as duplicate values for indexing purposes.

В этом разделе In This Topic

Перед началом работы Before you begin:

Создание уникального индекса для таблицы с помощью следующих средств: To create a unique index on a table, using:

Перед началом Before You Begin

Преимущества уникального индекса Benefits of a Unique Index

Использование уникальных индексов по нескольким столбцам позволяет гарантировать уникальность всех сочетаний значений в ключе индекса. Multicolumn unique indexes guarantee that each combination of values in the index key is unique. Например, если уникальный индекс создан для комбинации столбцов LastName, FirstNameи MiddleName , то никакие две строки в таблице не могут образовывать одну и ту же комбинацию этих значений. For example, if a unique index is created on a combination of LastName, FirstName, and MiddleName columns, no two rows in the table could have the same combination of values for these columns.

При условии уникальности данных в каждом столбце можно создать уникальный кластеризованный индекс и несколько уникальных некластеризованных индексов для одной и той же таблицы. Provided that the data in each column is unique, you can create both a unique clustered index and multiple unique nonclustered indexes on the same table.

Уникальные индексы гарантируют целостность данных в определенных столбцах. Unique indexes ensure the data integrity of the defined columns.

Уникальные индексы обеспечивают дополнительные сведения, которые могут использоваться оптимизатором запросов для создания более эффективных планов выполнения. Unique indexes provide additional information helpful to the query optimizer that can produce more efficient execution plans.

Стандартные реализации Typical Implementations

Уникальные индексы реализуются следующими способами: Unique indexes are implemented in the following ways:

Ограничение PRIMARY KEY или UNIQUE PRIMARY KEY or UNIQUE constraint

Если кластеризованный индекс в таблице еще не создан, а уникальный некластеризованный индекс еще не указан, то при создании ограничения PRIMARY KEY в одном или нескольких столбцах автоматически создается уникальный кластеризованный индекс. When you create a PRIMARY KEY constraint, a unique clustered index on the column or columns is automatically created if a clustered index on the table does not already exist and you do not specify a unique nonclustered index. В первичном ключевом столбце недопустимы значения NULL. The primary key column cannot allow NULL values.

При создании ограничения UNIQUE создается уникальный некластеризованный индекс. Он нужен, чтобы принудительно применять ограничение UNIQUE по умолчанию. When you create a UNIQUE constraint, a unique nonclustered index is created to enforce a UNIQUE constraint by default. Если кластеризованный индекс в таблице еще не создан, то можно указать уникальный кластеризованный индекс. You can specify a unique clustered index if a clustered index on the table does not already exist.

Индекс, не зависящий от ограничения Index independent of a constraint

По таблице может быть определено несколько уникальных некластеризованных индексов. Multiple unique nonclustered indexes can be defined on a table.

Дополнительные сведения см. в разделе CREATE INDEX (Transact-SQL). For more information, see CREATE INDEX (Transact-SQL).

Индексированное представление Indexed view

Чтобы создать индексированное представление, по одному или нескольким столбцам представления определяется уникальный кластеризованный индекс. To create an indexed view, a unique clustered index is defined on one or more view columns. Представление выполняется и результирующий набор сохраняется на конечном уровне индекса аналогично хранению данных таблиц в кластеризованном индексе. The view is executed and the result set is stored in the leaf level of the index in the same way table data is stored in a clustered index. Дополнительные сведения см. в разделе Создание индексированных представлений. For more information, see Create Indexed Views.

Ограничения Limitations and Restrictions

Уникальный индекс и ограничения UNIQUE и PRIMARY KEY не могут быть созданы, если дублирующиеся значения уже существуют. A unique index, UNIQUE constraint, or PRIMARY KEY constraint cannot be created if duplicate key values exist in the data.

Уникальный некластеризованный индекс может содержать любые неключевые столбцы. A unique nonclustered index can contain included nonkey columns. Дополнительные сведения см. в статье Create Indexes with Included Columns. For more information, see Create Indexes with Included Columns.

безопасность Security

Permissions Permissions

Необходимо разрешение ALTER для таблицы или представления. Requires ALTER permission on the table or view. Пользователь должен быть членом предопределенной роли сервера sysadmin или предопределенных ролей базы данных db_ddladmin и db_owner. User must be a member of the sysadmin fixed server role or the db_ddladmin and db_owner fixed database roles.

Использование среды SQL Server Management Studio Using SQL Server Management Studio

Создание уникального индекса с помощью конструктора таблиц To create a unique index by using the Table Designer

В обозревателе объектов разверните базу данных, содержащую таблицу, в которой необходимо создать уникальный индекс. In Object Explorer, expand the database that contains the table on which you want to create a unique index.

Разверните папку Таблицы. Expand the Tables folder.

Щелкните правой кнопкой мыши таблицу, в которой нужно создать уникальный индекс, и выберите Конструктор. Right-click the table on which you want to create a unique index and select Design.

В меню Конструктор таблиц выберите пункт Индексы и ключи. On the Table Designer menu, select Indexes/Keys.

В диалоговом окне Индексы и ключи нажмите Добавить. In the Indexes/Keys dialog box, click Add.

Выберите новый индекс в текстовом поле Выбранный первичный/уникальный ключ или индекс . Select the new index in the Selected Primary/Unique Key or Index text box.

В основной сетке в (Общие) выберите Тип , а затем выберите в списке Индекс . In the main grid, under (General), select Type and then choose Index from the list.

Выберите Столбцы и затем нажмите кнопку с многоточием (…) . Select Columns, and then click the ellipsis (. ).

В диалоговом окне Столбцы индекса в поле Имя столбцавыберите столбцы, которые необходимо индексировать. In the Index Columns dialog box, under Column Name, select the columns you want to index. Выбрать можно до 16 столбцов. You can select up to 16 columns. Для оптимальной производительности следует выбирать только один или два столбца на индекс. For optimal performance, select only one or two columns per index. Для каждого выбранного столбца укажите, будут ли значения данного столбца располагаться в индексе в возрастающем или убывающем порядке. For each column you select, indicate whether the index arranges values of this column in ascending or descending order.

После выбора всех столбцов для индекса щелкните ОК. When all columns for the index are selected, click OK.

В сетке в (Общие) выберите Уникальный , а затем выберите в списке Да . In the grid, under (General), select Is Unique and then choose Yes from the list.

Необязательное действие: В основной сетке в разделе Конструктор таблиц выберите Пропустить повторяющиеся ключи, а затем выберите в списке пункт Да. Optional: In the main grid, under Table Designer, select Ignore Duplicate Keys and then choose Yes from the list. Сделайте это, если необходимо пропустить попытки добавления данных, создающих повторяющиеся ключи в уникальном индексе. Do this if you want to ignore attempts to add data that would create a duplicate key in the unique index.

Щелкните Закрыть. Click Close.

В меню Файл выберите Сохранитьимя_таблицы. On the File menu, click Savetable_name.

Создание уникального индекса в обозревателе объектов Create a unique index by using Object Explorer

В обозревателе объектов разверните базу данных, содержащую таблицу, в которой необходимо создать уникальный индекс. In Object Explorer, expand the database that contains the table on which you want to create a unique index.

Разверните папку Таблицы . Expand the Tables folder.

Разверните таблицу, для которой необходимо создать уникальный индекс. Expand the table on which you want to create a unique index.

Щелкните правой кнопкой мыши папку Индексы, последовательно выберите Создать индекс и Некластеризованный индекс… . Right-click the Indexes folder, point to New Index, and select Non-Clustered Index. .

В диалоговом окне Создание индекса на странице Общие введите имя нового индекса в поле Имя индекса . In the New Index dialog box, on the General page, enter the name of the new index in the Index name box.

Установите флажок Уникальный . Select the Unique check box.

В разделе Ключевые столбцы индекса щелкните Добавить… . Under Index key columns, click Add. .

В диалоговом окне Выбор столбцов изимя_таблицы установите флажки для столбцов таблицы, добавляемых к уникальному индексу. In the Select Columns fromtable_name dialog box, select the check box or check boxes of the table column or columns to be added to the unique index.

Нажмите кнопку ОК. Click OK.

В диалоговом окне Создание индекса нажмите кнопку ОК. In the New Index dialog box, click OK.

Использование Transact-SQL Using Transact-SQL

Создание уникального индекса в таблице To create a unique index on a table

В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine Database Engine . In Object Explorer, connect to an instance of Компонент Database Engine Database Engine .

На стандартной панели выберите пункт Создать запрос. On the Standard bar, click New Query.

Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. Copy and paste the following example into the query window and click Execute.

Дополнительные сведения см. в разделе CREATE INDEX (Transact-SQL). For more information, see CREATE INDEX (Transact-SQL).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *