Обслуживание баз данных решений SharePoint 2010

В этой статье описываются задачи обслуживания баз данных SharePoint 2010. Задачи обслуживания баз данных для SharePoint 2010 включают в себя:

  • Проверку целостности базы данных;
  • Дефрагментация
    • Дефрагментация базы данных
    • Анализатор работоспособности
    • Хранимые процедуры дефрагментации
    • Дефрагментация определенной таблицы
    • Коэффициент заполнения
    • Сжатие базы данных
  • Создание планов обслуживания баз данных;
  • Заключение.

Данная статья не рассматривает вопрос планирования баз данных. Информацию о планировании баз данных для SharePoint 2010 можно найти в статье Планирование и настройка рабочих характеристик хранилища и SQL Server.

Проверка базы данных на целостность и исправление ошибок

Начните техническое обслуживание с проверки на целостность, чтобы убедиться, что ваши данные и индексы не повреждены. Для проверки и устранения ошибок можно использовать инструкцию DBCC CHECKDB.

Рекомендуется запустить инструкцию DBCC CHECKDB и затем, если появились ошибки, использовать DBCC CHECKDB с ключом REPAIR, чтобы исправить все ошибки.

Лучше всего не запускать проверку на целостность во время работы пользователей, потому что инструкция DBCC CHECKDB блокирует схему, тем самым предотвращая изменение метаданных; при указании ключа TABLOCK инструкция DBCC CHECKDB блокирует таблицы.

Дефрагментация

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

image

Рис. 1. Не фрагментированные данные

image

Рис. 2. Фрагментированные данные

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

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

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

Дефрагментация базы данных
Анализатор работоспособности

Используйте анализатор работоспособности, поставляемый с SharePoint 2010, в котором настроены правила для мониторинга состояния окружения SharePoint 2010.

SharePoint 2010 поставляется с несколькими правилами, касающимися обслуживания базы данных контента. Существуют правила, которые автоматически исправляют фрагментацию индекса для некоторых баз данных SharePoint и правила, которые проверяют актуальность статистики, и обновляют ее при необходимости. Эти правила настраиваются по умолчанию для выполнения по расписанию ежедневно, еженедельно, по запросу в зависимости от правил.

Все правила анализатора работоспособности, которые настраиваются для выполнения ежедневно и связаны с конкретной службой SharePoint, выполняются одноименным заданием таймера. Все правила, которые рассматриваются в этом документе, связанные со службой таймера SharePoint.

Индексы баз данных, используемых SharePoint, фрагментированы — при запуске этого правила выполняются следующие задачи:

  • Правило сообщает о фрагментированных индексах. Это связано с важностью состояния индекса. В результате действия правил анализатора работоспособности, это правило будет всегда сообщать о фрагментированных индексах, чтобы привести операции восстановления в действие.
  • Для каждой базы данных SharePoint, операция восстановления ищет, и в случае успешного поиска, выполняет хранимую процедуру proc_DefragmentIndices хранимой процедуры. В ходе выполнения этой хранимой процедуры строится список всех индексов в базе данных. Каждый индекс оценивается с его текущим уровнем фрагментации. Для восстановления рассматриваются любые индексы, фрагментация которых свыше 30 процентов.
  • Если выпуск SQL Server поддерживает перестройку индексов в фоне, предпринимается соответствующая попытка перестроения индекса для каждого индекса. Если это не удается, то выполняется автономное восстановление индексов.

Поиск — одна или несколько баз данных свойств имеют фрагментированные индексы — это правило поддерживает индексы базы данных свойств корпоративного поиска данных SharePoint 2010. Это правило настроено по умолчанию для еженедельного выполнения на любом сервере в ферме. Вся обработка для этого правила, включая действия по восстановлению, происходит во время этапа проверки выполнения правил. Это означает, что если вы хотите управлять перестроением индексов для баз данных свойств корпоративного поиска, недостаточно просто отключить в этом правиле автоматическое исправление. Чтобы избежать выполнения операций обслуживания индекса автоматически в SharePoint, необходимо отключить правило полностью. При запуске этого правила выполняются следующие задачи:

  • Правило, подтверждает, что окружение находится в состоянии, безопасном для выполнения операции дефрагментации для индекса.
  • Для каждой базы данных, настроенной для поиска в локальной ферме, правило восстановления выполняет хранимую процедуру proc_MSS_DefragSearchIndexes. В ходе выполнения этой хранимой процедуры строится список всех индексов со средней фрагментацией более 10%.
  • Каждый индекс из списка, который влияет на производительность базы данных свойств, будет перестроен. Если выпуск SQL Server поддерживает перестройку индексов в фоне, то осуществляется перестроение индексов в фоне. Если перестроения индекса в фоне завершается неудачно, то индекс будет перестроен в автономном режиме.

Поиск — одна или несколько баз данных обхода могут иметь фрагментированные индексы — это правило поддерживает индексы баз данных обхода корпоративного поиска SharePoint 2010. По умолчанию это правило настроено, чтобы выполняться только по требованию. Правило выполняется с любого сервера в ферме. При запуске этого правила выполняются следующие задачи:

  • Правило подтверждает, что окружение находится в состоянии, в котором выполнение дефрагментации индексов безопасно.
  • Для каждой базы данных обхода, настроенной для приложений поиска в локальной ферме, правило выполняет хранимую процедуру proc_MSS_DefragGathererIndexes.
  • Каждый индекс базы данных обхода в списке будет перестроен. Если выпуск SQL Server поддерживает перестройку индексов в фоне, то осуществляется соответствующее перестроение индексов. Если перестроение индексов в фоне завершается ошибкой, индекс будет перестроен в автономном режиме.

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

  • Search Administration Database
  • Secure Store Database
  • State Service Database
  • Profile Sync Database
  • Usage Database
  • Managed Metadata Database
  • Business Connectivity Services Database
  • PerformancePoint Services Database
Хранимые процедуры дефрагментации

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

Чтобы сделать это, запустите хранимые процедуры, которые выполняются правилами. Вы можете запланировать эти хранимые процедуры для запуска ежедневно, еженедельно или ежемесячно в зависимости от ваших потребностей и общих показателей изменения в вашем окружении. Состояние SharePoint 2010 по умолчанию (вызов хранимых процедур), используется многими базами данных ежедневно во время обработки правила «Базы данных, используемые SharePoint, имеют фрагментированные индексы» анализатором работоспособности. Другие два правила поддержки состояния баз данных – «Поиск — одна или несколько баз данных обхода могут иметь фрагментированные индексы» и «Поиск — одна или несколько баз данных свойств имеют фрагментированные индексы» настраиваются для выполнения по требованию и еженедельно.

Рекомендуется позволить SharePoint 2010 управлять своими собственными индексами базы данных. Если требуется вручную выполнить это действие, как минимум рекомендуется настроить ежедневное расписание обслуживания, чтобы выполнялась процедура proc_DefragmentIndices и еженедельное выполнение процедуры proc_MSS_DefragSearchIndexes. Также рекомендуется запланировать операции дефрагментации сразу же после выполнения определения DBCC CHECKDB REPAIR.

Для получения дополнительных сведений об изменениях, которые поддерживаются базами данных SharePoint 2010, смотрите статью Поддержка изменений базы данных, которые используются службами SharePoint Services и серверных продуктов Microsoft Office в базе знаний Microsoft.

Продолжение читать здесь.

Advertisements

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

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s