Поделиться через


Удаление индекса SQL Server

Поставщик OLE DB SQL Server Native Client предоставляет функцию IIndexDefinition::DropIndex. Это позволяет потребителям удалять индексы из таблицы SQL Server.

Поставщик OLE DB SQL Server Native Client представляет некоторые ограничения PRIMARY KEY и UNIQUE SQL Server как индексы. Владелец таблицы, владелец базы данных и члены некоторых административных ролей могут изменять таблицу SQL Server, удаляя ограничения. По умолчанию только владелец таблицы может удалять существующие индексы. Таким образом, будет ли функция DropIndex выполнена успешно или с ошибкой, зависит не только от прав доступа пользователя приложения, но также и от указанного типа индекса.

Пользователь задает имя таблицы в виде символьной строки в Юникоде в элементе pwszName объединения uName в параметре pTableID. Элемент eKind параметра pTableID должен быть равен DBKIND_NAME.

Потребитель задает имя индекса в виде строки в Юникоде в элементе pwszName объединения uName в параметре pIndexID. Элемент eKind параметра pIndexID должен быть равен DBKIND_NAME. Поставщик OLE DB SQL Server Native Client не поддерживает функцию удаления всех индексов таблицы в OLE DB, если значение параметра pIndexID равно NULL. Если значение параметра pIndexID равно NULL, то возвращается E_INVALIDARG.

См. также:

Таблицы и индексы
ALTER TABLE (Transact-SQL)
DROP INDEX (Transact-SQL)