Обслуживание баз данных для продуктов Microsoft



Скачать 329.67 Kb.
Дата13.02.2017
Размер329.67 Kb.
Просмотров268
Скачиваний0

description: shrpt-svr10_h_rgbdescription: sql08_h_rgb


Обслуживание баз данных для продуктов Microsoft® SharePoint® 2010

Авторы:

Бил Баер (Bill Baer)

Брайан Портер (Bryan Porter)

Технический редактор:

Пол С. Рэндел (Paul S. Randal) (SQLskills.com)



Дата публикации:

июль 2011 г.

Сводка:

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

Этот документ предоставляется на условиях «как есть». Сведения и изображения, представленные в данном документе, включая URL-адреса и другие ссылки на веб-сайты в Интернете, могут изменяться без уведомления. Риск, связанный с использованием таких сведений, лежит на вас.

Примеры приведены только в качестве иллюстрации и являются вымышленными. Никакой связи с реально существующими объектами не предполагается и не подразумевается.

Данный документ не предоставляет вам юридических прав на интеллектуальную собственность в отношении каких-либо продуктов Майкрософт. Разрешается копирование и использование данного документа для внутренних справочных целей.
© Корпорация Майкрософт (Microsoft Corporation), 2011. Все права защищены.

Аннотация


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

Перед реализацией любых задач обслуживания баз данных или изменением баз данных SharePoint 2010 ознакомьтесь со следующей справочной статьей о поддержке изменений в базах данных, которые используются серверными продуктами Office и службами Windows SharePoint Services (http://go.microsoft.com/fwlink/?LinkId=110812&clcid=0x409).


Содержание


Аннотация 3

Введение 5

Проверка на наличие ошибок согласованности с помощью DBCC CHECKDB 5

Сведения о DBCC CHECKDB 6

Команда DBCC CHECKDB и производительность 7

Измерение и уменьшение уровня фрагментации индекса 8

Перестроение индексов с подключением к сети и без подключения к сети 9

Измерение фрагментации в базе данных SQL Server 2008 или 2005 (sys.dm_db_index_physical_stats) 9

Использование динамического административного представления sys.dm_db_index_physical_stats 10



1.На панели задач нажмите кнопку Пуск, выберите Все программы, Microsoft SQL Server 2008 и SQL Server Management Studio. 10

1.Выберите базу данных контента в обозревателе объектов, а затем щелкните элемент Создать запрос. Выполните следующий скрипт. 10

2.Выполните sys.dm_db_index_physical_stats для базы данных или объекта, которые вы выбрали. Вы можете указать не только базу данных, но и таблицу или индекс. 10

Уменьшение уровня фрагментации базы данных 11

Запуск правил анализатора работоспособности по обслуживанию базы данных 11



Уменьшение фрагментации для отдельной таблицы и ее индексов 14

Использование ALTER INDEX 15



Точная настройка производительности индекса с помощью установки коэффициента заполнения 15

Сжатие файлов данных 16

Сжатие базы данных с помощью использования команд Transact-SQL 17

Порядок сжатия базы данных с помощью SQL Server 2008 Management Studio 18

1.На панели задач нажмите кнопку Пуск, выберите Все программы, Microsoft SQL Server 2008 и SQL Server Management Studio. 18

3.В обозревателе объектов подключитесь к экземпляру SQL Server 2008 Database Engine и разверните этот экземпляр. 18

4.Разверните элемент Базы данных, щелкните правой кнопкой мыши базу данных, которую хотите сжать, и выберите Задачи, Сжать и Файлы. 18

5.Выберите тип и имя файла. 19

6.Выберите Реорганизовать файлы перед освобождением неиспользованного места. Необходимо также задать значение Сжать файл до. При выборе этого значения все неиспользуемое место в файле освобождается для операционной системы и предпринимается попытка переноса строк на нераспределенные страницы. 19

7.Нажмите кнопку ОК. 19

Создание планов обслуживания SQL Server 2008 19

Порядок настройки плана обслуживания базы данных SQL Server 2008 19



1.На панели задач нажмите кнопку Пуск, выберите Все программы, Microsoft SQL Server 2008 и SQL Server Management Studio. 19

8.В обозревателе объектов подключитесь к экземпляру SQL Server 2008 Database Engine и разверните этот экземпляр. 19

9.Щелкните Управление, правой кнопкой мыши щелкните элемент Планы обслуживания, а затем выберите пункт Мастер планов обслуживания. 19

10.Нажимайте кнопку Далее до отображения страницы «Выбор свойств плана». 20

11.В полях Имя и Описание введите имя и описание. 20

12.Решите, требуется ли настроить один или несколько планов обслуживания. 20

13.Щелкните элемент Изменить, чтобы установить расписание для одного или нескольких планов. 20

14.Заполните расписание, нажмите кнопку ОК и затем кнопку Далее. 21

15.На странице «Выбор задач по обслуживанию» выберите включаемые в план задачи обслуживания, а затем нажмите кнопку Далее. 21

16.При необходимости измените порядок задач плана обслуживания на странице «Выбор порядка задач по обслуживанию». Выберите задачу, а затем щелкните элемент Вверх или Вниз. После расстановки задач в правильном порядке нажмите кнопку Далее. 22

17.На странице определения задачи «Проверка целостности базы данных» выберите базы данных для проверки целостности, а затем нажмите кнопку Далее. 23

18.На странице определения задачи «Реорганизация индекса» в списке Базы данных укажите базы данных, для которых требуется выполнить реорганизацию индексов, установите флажок Сжатие больших объектов, а затем нажмите кнопку Далее. 24

19.Если принято решение перестроить, а не реорганизовать индексы, на странице определения задачи «Перестроение индексов» в списке Базы данных укажите базы данных, для которых требуется выполнить перестроение индексов. 25

20.Выберите Изменить долю свободного места на странице, введите значение 80, а затем нажмите кнопку Далее. 25

Параметр «Изменить долю свободного места на странице» задает коэффициент заполнения для базы данных. 25

21.На странице определения задачи «Очистка после обслуживания» задайте значения, соответствующие вашим потребностям, а затем нажмите кнопку Далее. 26

Мы рекомендуем удалять текстовые отчеты планов обслуживания. 26

22.На странице «Выбор параметров отчета» выберите Сохранить отчет в текстовый файл, выберите расположение файлов и затем нажимайте кнопку Далее до завершения работы мастера. 28

Сводка 28


Введение


Регулярное обслуживание имеет важное значение для нормальной работы баз данных Microsoft® SharePoint® 2010. В данном техническом документе описываются задачи обслуживания баз данных, поддерживаемые для SharePoint 2010.

В число рекомендуемых задач обслуживания для баз данных SharePoint 2010 входят следующие:



  • Проверка целостности базы данных.

  • Дефрагментация индексов посредством их реорганизации или повторного создания.

  • Установка коэффициента заполнения для сервера.

Примечание. В данной статье рассматривается обслуживание баз данных, а не планирование производительности или ресурсов. Дополнительные сведения о планировании ресурсов и производительности см. в статье, посвященной планированию ресурсов и настройке системы хранения и SQL Server (SharePoint Server 2010) (http://go.microsoft.com/fwlink/?LinkId=217482).

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



  • Базы данных конфигурации

  • Базы данных контента

  • Базы данных профилей приложений-служб профилей пользователей

  • Базы данных социального контента приложений-служб профилей пользователей

  • Базы данных отчетов приложений службы Web Analytics

  • Промежуточные базы данных приложений службы Web Analytics

  • Базы данных Word Automation Services

Задачи обслуживания баз данных можно также выполнять с помощью запуска команд Transact-SQL или мастера обслуживания баз данных. Сначала мы рассмотрим команды Transact-SQL, которые можно использовать, а затем поясним, как создавать планы обслуживания баз данных с помощью мастера обслуживания баз данных Microsoft SQL Server®.

Примечание. В данном документе приведены подробные примеры только для SQL Server 2008 R2 и SQL Server 2005.

Проверка на наличие ошибок согласованности с помощью DBCC CHECKDB


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

Подавляющее большинство проблем с согласованностью баз данных вызвано ошибками в подсистеме ввода-вывода. Однако согласованность баз данных может быть нарушена, когда неправильно завершается работа сервера баз данных или происходит сбой диска. Заметное снижение уровня производительности и доступности может указывать на наличие проблем с согласованностью баз данных. Проверки согласованности баз данных следует выполнять для баз данных SharePoint 2010 не реже одного раза в неделю, а также в случае сбоев сервера баз данных или подсистемы ввода-вывода.


Сведения о DBCC CHECKDB


DBCC CHECKDB проверяет логическую и физическую целостность всех объектов в указанной базе данных посредством выполнения следующих операций:

  • Запуск эквивалента DBCC CHECKALLOC (http://go.microsoft.com/fwlink/?LinkId=110815&clcid=0x409) для проверки структур распределения в базе данных.

  • Запуск эквивалента DBCC CHECKTABLE (http://go.microsoft.com/fwlink/?LinkId=162093) для каждой таблицы и представления в базе данных для проверки их логической и физической целостности.

  • Запуск эквивалента DBCC CHECKCATALOG (http://go.microsoft.com/fwlink/?LinkId=110834&clcid=0x409) для базы данных в целях проверки согласованности ее метаданных.

Это значит, что команды DBCC CHECKALLOC, DBCC CHECKTABLE или DBCC CHECKCATALOG не требуется запускать отдельно от DBCC CHECKDB. Мы рекомендуем запускать команду DBCC CHECKDB вместо выполнения отдельных операций, так как она определяет наиболее обширный диапазон ошибок, благодаря чему обеспечивает повышенный уровень безопасности в рабочей среде.

Команда DBCC CHECKDB потребляет очень большой объем ресурсов, связанных с памятью, операциями ввода-вывода и ЦП. Вместо выполнения команды DBCC CHECKDB на производственной системе, можно запустить ее для восстановленной резервной копии баз данных SharePoint на другом сервере, разгрузив таким образом производственную систему от выполнения проверки согласованности.

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

Важно. Запуск DBCC CHECKDB с параметром REPAIR_ALLOW_DATA_LOSS не поддерживается. Однако запуск DBCC_CHECKDB с параметрами REPAIR_FAST и REPAIR_REBUILD поддерживается, так как эти команды только обновляют индексы соответствующей базы данных.

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



Результаты DBCC для "Contoso_Content_1".

Сообщение 9675 компонента Service Broker, состояние 1: Проанализировано типов сообщений: 14.

Сообщение 9676 компонента Service Broker, состояние 1: Проанализировано контрактов службы: 6.

Сообщение 9667 компонента Service Broker, состояние 1: Проанализировано служб: 3.

Сообщение 9668 компонента Service Broker, состояние 1: Проанализировано очередей служб: 3.

Сообщение 9669 компонента Service Broker, состояние 1: Проанализировано конечных точек диалога: 0.

Сообщение 9674 компонента Service Broker, состояние 1: Проанализировано групп сообщений: 0.

Сообщение 9670 компонента Service Broker, состояние 1: Проанализировано привязок удаленной службы: 0.

Результаты DBCC для "sys.sysrowsetcolumns".

Имеется 2663 строк на 21 страницах для объекта "sys.sysrowsetcolumns".

Результаты DBCC для "sys.sysrowsets".

Имеется 309 строк на 4 страницах для объекта "sys.sysrowsets".

…дополнительно

CHECKDB обнаружил 0 ошибок размещения и 0 ошибок согласованности в базе данных "Contoso_Content_1".

Выполнение DBCC завершено. Если DBCC выдает сообщения об ошибках, обратитесь к системному администратору.


Таблица . Пример выходных данных команды DBCC CHECKDB

Дополнительные сведения об использовании команды DBCC CHECKDB для SQL Server 2008 см. в описании DBCC CHECKDB (Transact-SQL) (http://go.microsoft.com/fwlink/?LinkId=217483).


Команда DBCC CHECKDB и производительность


Мы рекомендуем запускать проверки согласованности в нерабочее время, так как команда DBCC CHECKDB потребляет очень большой объем ресурсов, связанных с операциями ввода-вывода, ЦП, памятью и местом для временной базы данных tempdb). Существует распространенное заблуждение, что команда DBCC CHECKDB осуществляет блокировку, хотя это перестало соответствовать действительности еще до выхода SQL Server 2000. Дополнительные сведения об отсутствии блокировки при выполнении команды DBCC CHECKDB см. в статье «Мифы SQL Server DBA: (2/30) DBCC CHECKDB вызывает блокировку» (http://www.sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-(230)-DBCC-CHECKDB-causes-blocking.aspx).

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



  • Используйте параметр WITH PHYSICAL_ONLY для снижения использования ЦП и памяти.

  • Восстановите резервную копию на отдельном сервере SQL Server и запустите проверки согласованности для восстановленной копии базы данных.

Дополнительные сведения об этих вариантах см. в этой записи блога Пола С. Рэндела.

Измерение и уменьшение уровня фрагментации индекса


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


Рис. 1. Нефрагментированный индекс (изображение предоставлено: Пол С. Рэндел)

Рис. 2. Фрагментированный индекс (изображение предоставлено: Пол С. Рэндел)

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

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

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

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

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


Перестроение индексов с подключением к сети и без подключения к сети


Перестроение индексов с подключением к сети доступно только в выпусках Enterprise, Developer и Evaluation продукта SQL Server. Этот факт учитывается в методах, описанных в данном техническом документе. Описанные процедуры начинают использовать перестроение индексов без подключения к сети, если выпуск SQL Server, обеспечивающий размещение соответствующей базы данных, не поддерживает перестроение индексов с подключением к сети или если перестраиваемый индекс не подходит для перестроения с подключением к сети. Индекс может не подходить для перестроения с подключением к сети из-за наличия столбцов с большими объектами, таких как столбцы с данными типа NVARCHAR(MAX), IMAGE и т. п.
Дополнительные сведения о перестроении индексов с подключением к сети см. в статье о принципах выполнения операций с индексами при подключении к сети (http://go.microsoft.com/fwlink/?LinkId=217492). При выполнении перестроения индексов без подключения к сети осуществляются блокировки на уровне таблиц. Это может препятствовать осуществлению записи в таблицу или даже доступа к ней. Многие индексы в базах данных SharePoint всегда перестраиваются с помощью процедуры перестроения индексов без подключения к сети из-за наличия столбцов с большими объектами.
Даже если используется процедура перестроения индексов с подключением к сети, все равно существуют две точки, в которых на какое-то время включаются блокировки таблиц, которые могут выбрать общую блокировку доступа. Поэтому мы рекомендуем всегда планировать мероприятия по перестроению индексов на периоды низкой нагрузки.

Измерение фрагментации в базе данных SQL Server 2008 или 2005 (sys.dm_db_index_physical_stats)


В SQL Server 2008 или SQL Server 2005 используйте динамическое административное представление sys.dm_db_index_physical_stats, чтобы определить уровень фрагментации для индексов конкретной таблицы или конкретного представления.

Для измерения фрагментации рекомендуется отслеживать столбец avg_fragmentation_in_percent. Для обеспечения максимальной производительности значение avg_fragmentation_in_percent должно быть как можно ближе к нулю. Однако значения от 0 до 10 процентов можно считать приемлемыми. Дополнительные сведения см. в описании sys.dm_db_index_physical_stats (http://go.microsoft.com/fwlink/?LinkId=110839&clcid=0x409).

В таблице 2 приведен пример результатов из sys.dm_db_index_physical_stats со значением 9,375 для avg_fragmentation_in_percent в одной строке.

database_id

index_type_desc

alloc_unit_type_

desc


avg_fragmentation_

in_percent



10

КЛАСТЕРИЗОВАННЫЙ ИНДЕКС

IN_ROW_DATA

0

10

НЕКЛАСТЕРИЗОВАННЫЙ ИНДЕКС

IN_ROW_DATA

0

10

НЕКЛАСТЕРИЗОВАННЫЙ ИНДЕКС

IN_ROW_DATA

0





















































































10

КЛАСТЕРИЗОВАННЫЙ ИНДЕКС

IN_ROW_DATA

0

10

НЕКЛАСТЕРИЗОВАННЫЙ ИНДЕКС

IN_ROW_DATA

0

10

КЛАСТЕРИЗОВАННЫЙ ИНДЕКС

IN_ROW_DATA

9.375

Таблица 2. Пример результатов из sys.dm_db_index_physical_stats

Использование динамического административного представления sys.dm_db_index_physical_stats


  1. На панели задач нажмите кнопку Пуск, выберите Все программы, Microsoft SQL Server 2008 и SQL Server Management Studio.

Чтобы использовать sys.dm_db_index_physical_stats с объектом базы данных, необходимо знать идентификатор базы данных и идентификатор объекта.

1.Выберите базу данных контента в обозревателе объектов, а затем щелкните элемент Создать запрос. Выполните следующий скрипт.

SELECT DB_ID() AS [ИД базы данных];

Примечание. При использовании DB_ID без указания имени базы данных уровень совместимости текущей базы данных должен иметь значение 100 (база данных SQL Server 2008) или 90 (база данных SQL Server 2005). Если вы выполнили обновление с предыдущей версии SQL Server, в инструкции DB_ID необходимо указать имя базы данных. Дополнительные сведения об уровнях совместимости см. в описании sp_dbcmptlevel (Transact-SQL) (http://go.microsoft.com/fwlink/?LinkId=110840&clcid=0x409).

2.Выполните sys.dm_db_index_physical_stats для базы данных или объекта, которые вы выбрали. Вы можете указать не только базу данных, но и таблицу или индекс.

Синтаксис:

sys.dm_db_index_physical_stats (

{ database_id | NULL | 0 | DEFAULT }

, { object_id | NULL | 0 | DEFAULT }

, { index_id | NULL | 0 | -1 | DEFAULT }

, { partition_number | NULL | 0 | DEFAULT }

, { mode | NULL | DEFAULT }

)
При использовании динамического административного представления sys.dm_db_index_physical_stats следует соблюдать осторожность, так как эта процедура является довольно ресурсоемкой. Комплексное руководство, поясняющее различные способы использования данного представления, приведено на странице с описанием физических характеристик индекса базы данных sys.dm (http://www.sqlskills.com/BLOGS/PAUL/post/Inside-sysdm_db_index_physical_stats.aspx).


Уменьшение уровня фрагментации базы данных


Чтобы уменьшить уровень фрагментации индекса, выполните приведенные ниже рекомендации

Запуск правил анализатора работоспособности по обслуживанию базы данных


В состав SharePoint 2010 входит платформа для правил анализатора работоспособности. Эта платформа содержит некоторое количество настроенных правил для мониторинга работоспособности среды SharePoint, а в некоторых случаях — для принятия мер по устранению определенных видов проблем.
В состав SharePoint 2010 входит несколько правил для обслуживания баз данных контента. Доступны правила, которые автоматически уменьшают уровень фрагментации для некоторых баз данных SharePoint, и правила, которые выполняют проверку на наличие устаревшей статистики и обновляют ее по необходимости. Эти правила анализатора работоспособности заменяют собой обновленное задание таймера для статистики базы данных, которое появилось в пакете обновления 2 (SP2) для продуктов и технологий SharePoint. По умолчанию эти правила настроены на выполнение по расписанию, которое в зависимости от целевого объекта правила может устанавливать запуск каждый день, каждую неделю или по требованию.
Все правила анализатора работоспособности, которые настроены на ежедневное выполнение и сопоставлены с конкретной службой SharePoint, выполняются тем же заданием таймера. Изменение расписания этого задания таймера приведет к изменению времени запуска правил анализатора работоспособности, которые настроены на ежедневный запуск и сопоставлены с данной службой. Все правила, рассмотренные

в данном техническом документе, сопоставлены со службой таймера SharePoint.


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

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

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

  • При условии, что выпуск SQL Server поддерживает перестроения индексов с подключением к сети, для каждого индекса предпринимается попытка перестроения с подключением к сети. Если данная операция завершается со сбоем (возможно, в результате того, что базовый индекс не поддерживает перестроения с подключением к сети из-за использования столбцов с большими объектами), выполняется перестроение индекса без подключения к сети.

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

  • Правило подтверждает, что среда находится в состоянии, в котором выполнение перестроения индекса безопасно.

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

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


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

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


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

  • Правило подтверждает, что среда находится в состоянии, в котором выполнение перестроения индекса безопасно.

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

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

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


Учитывая природу базы данных обхода, маловероятно, что вам часто придется выполнять ее дефрагментацию. Запускайте это правило после выполнения полного обхода контента. Впоследствии отслеживайте индексы в базе данных обхода на наличие фрагментации индекса и запускайте правило при увеличении уровня фрагментации. Это может произойти в результате внезапного добавления или удаления большого объема индексированного контента, например, во время исключения контента при очистке среды или внедрения нового источника контента, такого как общая папка или крупное веб-приложение SharePoint.
Приведенные ниже базы данных не имеют автоматического механизма обслуживания. Для них наличие высокого уровня фрагментации маловероятно. Отслеживайте уровень фрагментации этих баз данных и перестраивайте их индексы, когда уровень фрагментации превысит 30 %.

  • База данных администрирования поиска

  • База данных Secure Store

  • База данных службы состояний

  • База данных синхронизации профилей

  • База данных использования

  • База данных управляемых метаданных

  • База данных Business Connectivity Services

  • База данных PerformancePoint Services

Дополнительные сведения об изменениях, поддерживаемых для баз данных SharePoint 2010, см. в статье о поддержке изменений в базах данных, которые используются серверными продуктами Office и службами Windows SharePoint Services (http://go.microsoft.com/fwlink/?LinkId=110844&clcid=0x409) в базе знаний Майкрософт.

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


Уменьшение фрагментации для отдельной таблицы и ее индексов


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

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

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

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




Уровень фрагментации

Метод дефрагментации

До 10 %

Реорганизация (в сети)

10–75 %

Перестроение (в сети)

75 %

Перестроение (вне сети)

Примечание. Использование команд DROP INDEX и CREATE INDEX для баз данных SharePoint 2010 не поддерживается.

Вы можете реорганизовать или перестроить индексы с помощью инструкции ALTER INDEX SQL Server 2008 или SQL Server 2005 или мастера планов обслуживания SQL Server 2008 или SQL Server 2005. В данном документе подробно рассматриваются только варианты для SQL Server 2008 или SQL Server 2005.


Использование ALTER INDEX


Инструкция ALTER INDEX позволяет администратору базы данных выполнять операции обслуживания для индекса таблицы или представления. Эту инструкцию также можно использовать для отключения, перестроения и реорганизации индексов. Кроме того, ее можно использовать для задания параметров для индекса. В большинстве случаев индексы можно перестроить, не отключая базу данных, что обеспечивает более высокий уровень доступности данных по сравнению с перестроением индексов с отключением от сети.

Важно! Продукт SQL Server 2000 поддерживал использование команд DBCC DBREINDEX и DBCC INDEXDEFRAG для обслуживания индексов. Эти команды были отмечены как устаревшие, начиная с SQL Server 2005, и будут удалены в последующей версии SQL Server. Не используйте эти команды для выполнения обслуживания индекса базы данных SharePoint 2010.

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

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



USE Contoso_Content_1

GO

ALTER INDEX ALL ON [имя_базы_данных. [ имя_схемы ] . | имя_схемы. ]имя_таблицы_или_представления



REBUILD WITH (FILLFACTOR = 80, SORT_IN_TEMPDB = ON,

STATISTICS_NORECOMPUTE = ON)

GO

Точная настройка производительности индекса с помощью установки коэффициента заполнения


Коэффициент заполнения можно использовать для дальнейшего улучшения условий хранения и производительности данных индекса. При создании или перестроении индексов значение коэффициента заполнения (1–100) в процентах определяет место на каждой странице конечного уровня, которое может быть заполнено данными. Оставшееся место резервируется для использования в будущем. Во многих ситуациях рационально по умолчанию использовать нулевое значение коэффициента заполнения для всего сервера (что означает 100%-ное заполнение каждой страницы). Однако для SharePoint 2010 оптимальным является значение 80 на уровне сервера, так как оно закладывает поддержку для роста и минимизирует фрагментацию.

Примечание. Мы не рекомендуем устанавливать коэффициент заполнения для отдельных таблиц или индексов. Хотя такой метод и является наиболее предпочтительным для баз данных, отличных от SharePoint SQL Server, тестирование показало, что базы данных SharePoint лучше всего работают с коэффициентом заполнения 80 %.

Чтобы просмотреть значение коэффициента заполнения одного или нескольких индексов, отправьте запрос в представление каталога sys.indexes. Дополнительные сведения об этом представлении см. в описании sys.indexes (Transact-SQL) (http://go.microsoft.com/fwlink/?LinkId=110850&clcid=0x409).

Чтобы настроить значение коэффициента заполнения на уровне сервера, используйте системную хранимую процедуру sp_configure. Дополнительные сведения см. в описании spconfigure (Transact-SQL) (http://go.microsoft.com/fwlink/?LinkId=110851&clcid=0x409).

Сжатие файлов данных


В SQL Server 2008 и SQL Server 2005 вы можете сжимать каждый из файлов в базе данных (с расширениями MDF, LDF и NDF), чтобы удалить неиспользуемые страницы и освободить место на диске. Базы данных SharePoint 2010 не выполняют автоматическое сжатие файлов данных, хотя многие операции создают в базе данных неиспользуемое пространство. К такие операции включают в себя запуск команды Move-SPSite (http://technet.microsoft.com/ru-ru/library/ff607915.aspx) Windows PowerShell, а также удаление документов, библиотек документов, списков, элементов списков и сайтов.



Рис. 3. Выделение места для базы данных

Свободное место освобождается только в конце файла, например, для файла базы данных контента размером 60 ГБ с заданным конечным размером в 40 ГБ освобождается как можно больше места с конца (по принятому представлению конец находится справа) 20 ГБ файла базы данных. Если в конечные 20 ГБ входят используемые страницы, то они переносятся в начальные 40 ГБ файла, которые сохраняются. Вы можете сжимать файлы базы данных по отдельности или группами.

Операции сжатия следует выполнять редко и только после выполнения операции, удаляющей из базы данных очень большой объем данных, а также только в случае, когда такое свободное место не планируется использовать повторно. Операции сжатия файлов данных вызывают значительное повышение уровня фрагментации и являются чрезвычайно ресурсоемкими. Примером ситуации, в которой допустимо сжимать файлы данных базы данных, является перемещение большого числа семейств веб-сайтов из одной базы данных контента в другую или удаление большого списка, так как при этом может создаваться большой объем неиспользуемого пространства. Файлы базы данных можно уменьшать до того момента, пока свободное место не закончится. Таким образом, для базы данных контента, в которой контент удаляется редко, сжатие дает минимальный результат и ведет к возникновению проблем с производительностью, когда базе данных требуется расти для размещения дополнительных данных. Дополнительные сведения см. в статье об инициализации файла базы данных (http://msdn.microsoft.com/ru-ru/library/ms175935.aspx).

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

Используйте следующие рекомендации по сжатию баз данных:

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

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

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

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

После сжатия базы данных индексы в ней фрагментированы. Для устранения этой фрагментации используйте ALTER INDEX… REORGANIZE. Если мгновенная инициализация файлов не разрешена, следует сжимать базу данных до целевого размера, учитывающего объем места, требуемый для ожидаемого в ближайшем будущем роста. Дополнительные сведения см. в статье об инициализации файла базы данных (http://msdn.microsoft.com/ru-ru/library/ms175935.aspx). Если вы устраняете фрагментацию с помощью перестроения индексов, это вызывает повторный рост базы данных и появление неиспользуемого места.

Для освобождения места базы данных и их файлы можно сжимать вручную посредством выполнения инструкций DBCC SHRINKFILE и DBCC SHRINKDATABASE с помощью SQL Server 2008 или SQL Server 2005 Management Studio.

Дополнительные сведения о том, почему сжатие базы данных оказывает отрицательное влияние на производительность и должно выполняться только в случае крайней необходимости, см. в статье о доводах против сжатия файлов данных (http://www.sqlskills.com/BLOGS/PAUL/post/Why-you-should-not-shrink-your-data-files.aspx).


Сжатие базы данных с помощью использования команд Transact-SQL


Команда DBCC SHRINKDATABASE сжимает файлы данных и журналов для конкретной базы данных. Для сжатия отдельных файлов используйте команду DBCC SHRINKFILE.

DBCC SHRINKDATABASE


Синтаксис:

DBCC SHRINKDATABASE

( 'имя_базы_данных' | id_базы_данных | 0

[ ,целевой_процент ]

[ , { NOTRUNCATE | TRUNCATEONLY } ]

)

[ WITH NO_INFOMSGS ]



Параметр имя_базы_данных | id_базы_данных | 0 задает имя или идентификатор базы данных. Чтобы выбрать текущую базу данных, используйте значение 0.

Параметр целевой_процент — это свободное место в процентах, которое требуется сохранить после выполнения сжатия базы данных.

Параметр NOTRUNCATE сжимает данные в файлах данных, перемещая распределенные страницы из конца файла в нераспределенные страницы в начале файла.

Параметр TRUNCATEONLY освобождает для операционной системы все свободное пространство в конце файла, но не выполняет перемещение страниц внутри файла.



Примечание. Использование параметра TRUNCATEONLY для баз данных контента SharePoint 2010 не поддерживается.

Дополнительные сведения см. в описании DBCC SHRINKDATABASE (Transact-SQL) (http://go.microsoft.com/fwlink/?LinkId=110852&clcid=0x409).


DBCC SHRINKFILE


Синтаксис:

DBCC SHRINKFILE

(

     { 'имя_файла' | id_файла }



    { [ , EMPTYFILE ]

    | [ [ , целевой_размер ] [ , { NOTRUNCATE | TRUNCATEONLY } ] ]

    }

)

[ WITH NO_INFOMSGS ]




Параметр имя_файла | id_файла указывает имя или идентификатор файла.

Параметр EMPTYFILE осуществляет миграцию всех данных из указанного файла в другие файлы в рамках одной группы файлов.



Примечание. Использование параметра EMPTYFILE для файлов баз данных SharePoint 2010 не поддерживается.

Параметр целевой_размер представляет собой целевой размер файла в мегабайтах, выраженный целым числом.

Параметр NOTRUNCATE сжимает данные в файлах данных, перемещая распределенные страницы из конца файла в нераспределенные страницы в начале файла.

Параметр TRUNCATEONLY освобождает для операционной системы все свободное пространство в конце файла, но не выполняет перемещение страниц внутри файла.



Примечание. Использование параметра TRUNCATEONLY для баз данных контента SharePoint 2010 не поддерживается.

Дополнительные сведения см. в описании DBCC SHRINKFILE (Transact-SQL) (http://go.microsoft.com/fwlink/?LinkId=110853&clcid=0x409).


Порядок сжатия базы данных с помощью SQL Server 2008 Management Studio


  1. На панели задач нажмите кнопку Пуск, выберите Все программы, Microsoft SQL Server 2008 и SQL Server Management Studio.

3.В обозревателе объектов подключитесь к экземпляру SQL Server 2008 Database Engine и разверните этот экземпляр.

4.Разверните элемент Базы данных, щелкните правой кнопкой мыши базу данных, которую хотите сжать, и выберите Задачи, Сжать и Файлы.

5.Выберите тип и имя файла.

6.Выберите Реорганизовать файлы перед освобождением неиспользованного места. Необходимо также задать значение Сжать файл до. При выборе этого значения все неиспользуемое место в файле освобождается для операционной системы и предпринимается попытка переноса строк на нераспределенные страницы.

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

Создание планов обслуживания SQL Server 2008


Многие операции обслуживания баз данных, описанные в данном техническом документе, могут быть программно применены посредством реализации планов обслуживания SQL Server. Планы обслуживания позволяют автоматизировать и планировать выполнение важных задач по защите данных. С помощью планов обслуживания в SQL Server 2008 или SQL Server 2005 администратор может планировать выполнение таких операций, как запуск проверок согласованности базы данных и реорганизация или перестроение индексов. Дополнительные сведения см. в следующих материалах:

Мастер планов обслуживания (http://go.microsoft.com/fwlink/?LinkId=110855&clcid=0x409) для SQL Server 2008

Мастер планов обслуживания баз данных (http://go.microsoft.com/fwlink/?LinkId=217494) для SQL Server 2005

Порядок настройки плана обслуживания базы данных SQL Server 2008


  1. На панели задач нажмите кнопку Пуск, выберите Все программы, Microsoft SQL Server 2008 и SQL Server Management Studio.

8.В обозревателе объектов подключитесь к экземпляру SQL Server 2008 Database Engine и разверните этот экземпляр.

9.Щелкните Управление, правой кнопкой мыши щелкните элемент Планы обслуживания, а затем выберите пункт Мастер планов обслуживания.

10.Нажимайте кнопку Далее до отображения страницы «Выбор свойств плана».

11.В полях Имя и Описание введите имя и описание.

12.Решите, требуется ли настроить один или несколько планов обслуживания.


  • Чтобы настроить отдельный план обслуживания, выберите Единое расписание для всего плана или без расписания.

  • Чтобы настроить несколько планов обслуживания с конкретными задачами, выберите Отдельные расписания для каждой задачи.

Если вы используете среду, содержащую 10 или больше баз данных контента или более 200 ГБ контента, мы рекомендуем настроить отдельные планы обслуживания для обеспечения большей точности и максимального периода обслуживания.

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

13.Щелкните элемент Изменить, чтобы установить расписание для одного или нескольких планов.

Отображается диалоговое окно Свойства расписания задания.



14.Заполните расписание, нажмите кнопку ОК и затем кнопку Далее.

15.На странице «Выбор задач по обслуживанию» выберите включаемые в план задачи обслуживания, а затем нажмите кнопку Далее.



Примечания.


  • План обслуживания должен включать в себя либо реорганизацию индекса, либо перестроение индекса, но не обе эти операции сразу.

  • План обслуживания не должен включать в себя сжатие базы данных.

  • Чтобы определить длительность каждой задачи, протестируйте их по отдельности, прежде чем объединять в единый план. Вам может потребоваться определить несколько планов обслуживания для разных расписаний, чтобы обеспечить выполнение задач в те часы, когда это не оказывает отрицательного влияния на работу пользователей.

  • Задача «Очистка после обслуживания» удаляет файлы, оставшиеся от выполнения плана обслуживания.

16.При необходимости измените порядок задач плана обслуживания на странице «Выбор порядка задач по обслуживанию». Выберите задачу, а затем щелкните элемент Вверх или Вниз. После расстановки задач в правильном порядке нажмите кнопку Далее.
Примечание.
Если базы данных имеют очень большой размер, рекомендуется создать отдельный план обслуживания, обеспечивающий более редкую проверку целостности баз данных по сравнению с обслуживанием индексов.

После этого мастер поможет вам задать подробности для каждой из задач.

17.На странице определения задачи «Проверка целостности базы данных» выберите базы данных для проверки целостности, а затем нажмите кнопку Далее.

Примечание. Вы можете безопасно проверить целостность всех баз данных SharePoint 2010.

18.На странице определения задачи «Реорганизация индекса» в списке Базы данных укажите базы данных, для которых требуется выполнить реорганизацию индексов, установите флажок Сжатие больших объектов, а затем нажмите кнопку Далее.



19.Если принято решение перестроить, а не реорганизовать индексы, на странице определения задачи «Перестроение индексов» в списке Базы данных укажите базы данных, для которых требуется выполнить перестроение индексов.

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

Параметр «Изменить долю свободного места на странице» задает коэффициент заполнения для базы данных.



21.На странице определения задачи «Очистка после обслуживания» задайте значения, соответствующие вашим потребностям, а затем нажмите кнопку Далее.

Мы рекомендуем удалять текстовые отчеты планов обслуживания.

22.На странице «Выбор параметров отчета» выберите Сохранить отчет в текстовый файл, выберите расположение файлов и затем нажимайте кнопку Далее до завершения работы мастера.




Сводка


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

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

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

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





Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал