Когда и как восстанавливать индексы в базе данных SQL Server

Основная функция администратора базы данных (DBA) — поддерживать базу данных. Индексы играют важную роль, поскольку они являются одним из важных аспектов высокой производительности SQL Server. В основном SQL Server поддерживает индексы после любых изменений данных, однако обслуживание индексов по-прежнему требуется из-за фрагментации. Фрагментация индекса влияет на производительность SQL Server, поэтому рекомендуется следить за уровнем фрагментации.
Фрагментация индекса происходит в виде разрывов на страницах данных и логической фрагментации. Таким образом, единственный способ удалить ненужное пространство и логическую фрагментацию — это перестроить индексы в SQL Server.
В следующем сегменте мы собираемся обсудить пошаговую процедуру, позволяющую пользователям понять, как полностью перестроить индексы в SQL Server. Перед этим сообщите нам, когда и как часто следует восстанавливать индексы на SQL-сервере.

Когда перестраивать индексы в SQL Server?

По мере того как индексы становятся фрагментированными, производительность всех индексов снижается. Задача «Перестроить индекс» — очень хороший вариант для перестройки индексов, чтобы удалить логическую фрагментацию и свободное пространство, а также обновить статистику. Важно запланировать задачи для своевременного восстановления индексов в базе данных SQL Server.

В противном случае восстановление индексов в SQL Server станет ресурсоемкой задачей. Более того, если индекс будет перестроен, на него могут быть наложены блокировки, предотвращающие доступ к нему во время перестройки. Если кто-то попытается получить доступ к индексу для получения фактических результатов, он может быть временно заблокирован до завершения перестройки. Например, задача «Перестроить индекс» проверяет активность в автономном режиме и запускается, когда некоторые люди хотят получить доступ к базе данных. Обычно это означает, что во время периода обслуживания расписания.

Ночью, если необходимо: Если индекс быстро фрагментируется, и у пользователей есть окно обслуживания каждую ночь, которое позволяет запускать задачу Rebuild Index со всеми другими задачами обслуживания; тогда сделай так. Фрагментация индекса снизит общую производительность каждого индекса. Таким образом, у пользователей есть ночное окно обслуживания, восстановление не повредит, а также поможет повысить производительность сервера.
Еженедельно, минимум: Если пользователи не могут выполнять эту задачу каждую ночь, то, как минимум, она будет выполняться один раз в неделю в течение периода обслуживания. Если пользователи могут ждать более недели, они рискуют снизить производительность SQL из-за отрицательного эффекта пустого пространства и логической фрагментации.
Рассмотрим другие альтернативы: Если у пользователей нет периода обслуживания, достаточного для выполнения задачи хотя бы раз в неделю, они могут рассмотреть другие альтернативы, например:

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

Скачать Купить сейчас

Как часто нужно перестраивать индексы в SQL Server?

Скорость индексных фрагментов зависит от того, как они используются, и будет варьироваться от одной базы данных к другой. Рассмотрим процент фрагментации индекса:

  • avg_page_space_used_in_percent: В этом столбце может храниться общий объем пространства, используемого на определенной странице. Например, для конкретного индекса может использоваться 50% пространства, что означает, что на странице данных доступна только половина пространства, в среднем он используется для сохранения строк данных.
  • avg_fragmentation_in_percent: В этом столбце может храниться степень логической фрагментации индекса в процентах. Например, конкретный индекс может быть фрагментирован на 80%, что означает, что в среднем 80% физического упорядочения страниц данных не соответствует логическому.

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

Как перестроить индексы в SQL Server вручную

Выполните эти два ручных подхода, которые помогут восстановить индексы базы данных сервера SQL. Посмотри:

  • Используя MS SQL Server Management Studio:

а) Под Обозреватель объектов панель, разверните SQL Server, а затем узел «Базы данных»
б) Затем щелкните конкретную базу данных с фрагментированным индексом.
c) Разверните каждый узел таблицы и таблицу с фрагментированным индексом
г) Раскройте конкретную таблицу >> Индексы узел
e) Теперь щелкните правой кнопкой мыши фрагментированный индекс и выберите Восстановить вариант

е) Нажмите кнопку ОК и дождитесь завершения процесса.

  • С помощью Transact-SQL перестроить индексы в таблице

Предоставьте подходящую базу данных и табличную информацию. После этого вы можете выполнить следующий код в SSMS (SQL Server Management Studio), чтобы перестроить индексы в SQL Server для конкретной таблицы:

Подведение итогов

Фрагментация индекса — критическая проблема, поскольку она может вызвать проблемы с производительностью в базе данных SQL Server, если они не будут перестроены вовремя. Один из простых способов устранить фрагментацию индекса — регулярно выполнять задачу «Перестроить индекс», которая помогает перестроить все индексы в базе данных SQL и обеспечить согласованную производительность. Таким образом, в этом блоге мы обсудили два разных способа, которые помогут вам понять, как восстанавливать индексы на сервере SQL. Убедитесь, что вы очень внимательно следите за каждым шагом.

Похожие записи

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

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