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

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

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

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

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

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

НЕ нашли? Не то? Что вы ищете?

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

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

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

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

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

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

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

Перестроение индексов с подключением к сети доступно только в выпусках Enterprise, Developer и Evaluation продукта SQL Server. Этот факт учитывается в методах, описанных в данном техническом документе. Описанные процедуры начинают использовать перестроение индексов без подключения к сети, если выпуск SQL Server, обеспечивающий размещение соответствующей базы данных, не поддерживает перестроение индексов с подключением к сети или если перестраиваемый индекс не подходит для перестроения с подключением к сети. Индекс может не подходить для перестроения с подключением к сети из-за наличия столбцов с большими объектами, таких как столбцы с данными типа NVARCHAR(MAX), IMAGE и т. п.

Дополнительные сведения о перестроении индексов с подключением к сети см. в статье о принципах выполнения операций с индексами при подключении к сети (http://go. /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. /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

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

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

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

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

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

Выполните 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. /BLOGS/PAUL/post/Inside-sysdm_db_index_physical_stats. aspx).

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

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

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

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

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

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5