Відключення індексів і обмежень, microsoft docs

В цій статті

Перед початком роботи виконайте наступні дії.

Відключення індексу з використанням наступних засобів:

Перед початком

обмеження

При відключенні індексу він не обслуговується.

Оптимізатор запитів не враховує відключені індекси при створенні планів виконання запиту. Запити, що посилаються на відключені індекси за допомогою табличного вказівки, також завершуються збоєм.

Не можна створювати індекс з ім'ям, яке ідентичне імені існуючого відключеного індексу.

Відключений індекс може бути видалений.

При відключенні унікального індексу також відключаються обмеження PRIMARY KEY, UNIQUE і всі обмеження FOREIGN KEY, що посилаються на індексовані стовпці з інших таблиць. При відключенні кластерізованного індексу також відключаються всі вхідні і вихідні обмеження FOREIGN KEY для базової таблиці. При відключенні індексу в попереджуючому повідомленні наводяться імена обмежень. Після перешикування індексу необхідно вручну включити всі обмеження за допомогою інструкції ALTER TABLE CHECK CONSTRAINT.

Некластерізованний індекси автоматично відключаються при відключенні пов'язаних з ними кластеризованих індексів. Вони не можуть бути включені до тих пір, поки не буде включений кластерізованний індекс таблиці або подання або до його повного видалення кластерізованний індекс таблиці. Некластерізованний індекси повинні бути явно включені в тому випадку, якщо Групові індекси не були включені раніше за допомогою інструкції ALTER TABLE CHECK CONSTRAINT.

Інструкція ALTER INDEX ALL REBUILD перебудовує і включає всі відключені індекси таблиці, за винятком індексів уявлення. Для включення індексів уявлень використовується окрема інструкція ALTER INDEX ALL REBUILD.

При відключенні кластерізованного індексу в таблиці також відключаються всі Групові та некластерізованний індекси в уявленнях, які посилаються на цю таблицю. Зазначені індекси повинні бути перебудовані, так само як і індекси посилальної таблиці.

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

Перебудова відключених некластерізованних індексів в режимі в мережі можлива, якщо таблиця не містить відключені Групові індекси. Однак при використанні інструкцій ALTER INDEX REBUILD і CREATE INDEX WITH DROP_EXISTING відключені Групові індекси можуть бути перебудовані тільки в режимі поза мережею. Додаткова інформація щодо функцій з індексами в мережі см. В статті Рятувальна операція з індексами в мережі.

Інструкція CREATE STATISTICS не може застосовуватися до таблиць, що містить відключені Групові індекси.

Параметр бази даних AUTO_CREATE_STATISTICS створює нові статистики для стовпців з відключеними індексами при виконанні наступних умов:

Параметр AUTO_CREATE_STATISTICS встановлений в значення ON

Для даного стовпчика не існує статистик.

Статистики необхідні при оптимізації запитів.

Якщо Групові індекси відключені, то DBCC CHECKDB не може повернути відомості про базовій таблиці. Замість цього результатом виконання цієї інструкції буде повідомлення про відключений кластерізованний індексі. Інструкція DBCC INDEXDEFRAG не може бути використана для дефрагментації відключеного індексу. В цьому випадку вона повертає повідомлення про помилку. Інструкція DBCC DBREINDEX може бути використана для перестроювання відключеного індексу.

При створенні нового кластерізованного індексу включаються раніше відключені некластерізованний індекси. Додаткові відомості див. У статті Enable Indexes and Constraints.

Безпека

Дозволи

Для виконання ALTER INDEX необхідно мати як мінімум дозвіл ALTER для таблиці або подання.

Використання середовища SQL Server Management Studio

відключення індексу

У браузері об'єктів клацніть знак «плюс», щоб розгорнути базу даних, що містить таблицю, в якій необхідно відключити індекс.

Щоб розгорнути папку Таблиці. клацніть значок «плюс».

Клацніть знак «плюс», щоб розгорнути таблицю, в якій необхідно відключити індекс.

Щоб розгорнути папку Індекси. клацніть знак «плюс» (+).

Клацніть правою кнопкою миші індекс, який потрібно вимкнути, і виберіть пункт Відключити.

У діалоговому вікні Відключення індексів переконайтеся, що потрібний індекс вказано в сітці Індекси для відключення. і натисніть кнопку ОК.

Відключення всіх індексів таблиці

У браузері об'єктів клацніть знак «плюс», щоб розгорнути базу даних, що містить таблицю, в якій необхідно відключити індекси.

Щоб розгорнути папку Таблиці. клацніть значок «плюс».

Клацніть знак «плюс», щоб розгорнути таблицю, в якій необхідно відключити індекси.

Клацніть правою кнопкою миші папку Індекси а потім виберіть Роз'єднати все.

У діалоговому вікні Відключення індексів переконайтеся, що потрібні індекси вказані в сітці Індекси для відключення. і натисніть кнопку ОК. Для видалення індексу з сітки Індекси для відключення виберіть індекс і натисніть клавішу DELETE.

У діалоговому вікні Відключити індекси доступні такі відомості:

Index Name
Відображає ім'я індексу. В ході виконання в цьому стовпці також відображається значок, що представляє стан.

ім'я таблиці
Відображає ім'я таблиці або подання, для яких був створений індекс.

стан
Відображає стан операції відключення. Можливі значення після виконання.

Стан до виконання є порожнім.

Відключення індексів було розпочато, але ще не завершено.

Операція відключення успішно завершена.

При відключенні індексу виникла помилка, і операція вимикання живлення не була успішно завершена.

Відключення індексу не було завершено успішно, оскільки користувач зупинив операцію.

Повідомлення
Надає текст повідомлень про помилки в ході операції відключення. Під час виконання помилки відображаються у вигляді гіперпосилань. Текст гіперпосилань описує тіло помилки. Стовпець Повідомлення рідко має ширину, достатню для прочитання всього текстового повідомлення. Є два способи отримати повний текст.

Наведіть курсор миші на осередок повідомлення для виклику підказки, що містить текст помилки.

Клацніть гіперпосилання, щоб викликати діалогове вікно, що відображає повний текст повідомлення про помилку.

Використання Transact-SQL

відключення індексу

У браузері об'єктів підключіться до примірника компонента Компонент Database Engine Database Engine.

На стандартній панелі виберіть пункт Створити запит.

Скопіюйте наступний приклад у вікно запиту і натисніть кнопку Виконати.

Відключення всіх індексів таблиці

У браузері об'єктів підключіться до примірника компонента Компонент Database Engine Database Engine.

На стандартній панелі виберіть пункт Створити запит.

Скопіюйте наступний приклад у вікно запиту і натисніть кнопку Виконати.