2009-11-23 2 views
5

У нас есть база данных SQL Server 2000, которая содержит большинство наших команд, работающих на относительно старом сервере.Когда вы уплотняете базу данных сервера Sql?

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

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

Является ли уплотнение базы данных только для общего обслуживания? Есть ли волшебное количество баз данных, таблиц или записей, которые могут привести к этому замедлению и, таким образом, будут помогать в уплотнении?

Количество активно используемых баз данных: 6

Средний размер базы данных: 20Мб за исключением FogBUGZ, что составляет около 11000MB

+0

Это может быть лучше подходит для Server Fault. Тем не менее, размеры вашей базы данных на самом деле крошечные. Я сомневаюсь, что уплотнение даст какое-то преимущество в производительности. Кроме того, уплотнение обычно выполняется для освобождения пространства. Эффективность не должна сильно влиять, если вообще, если база данных не уплотняется. – Joey

ответ

4

Вы не уплотнять базу данных SQL Server (вы «сжиматься» это), если вам действительно не нужно. Это не MS Access и не неиспользуемое пространство (ну, может, но это маскирует более важная проблема)

Скорее всего, у вас есть индекс/статистическая проблема:

  • из статистики данных
  • фрагментированные индексы
  • недостающие индексы

Для начала с этого размера базы данных (небольшой), я предлагаю вам посмотреть

  • на «maintenance plans», чтобы начать с, чтобы обеспечить ДЕЦИБЕЛЫ в рабочем состоянии
  • для missing indexes
2

В SQL Server, есть различные биты обслуживания вы должны делать на базах данных.

10MB - очень маленькая база данных, поэтому для вас не стоит сокращать базу данных («компактный» - это то, что вы сделали бы с базой данных MS Access, на Sql Server, которую вы можете уменьшить).

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

Хорошее место для начала - посмотреть, какие именно запросы занимают много времени (хорошая идея запустить SQL Profiler и монитор). Затем вы можете посмотреть, что делают эти запросы, какие таблицы/столбцы они обращаются, а затем проверить, имеются ли у вас соответствующие индексы.

Смежные вопросы