Файлы данных нашей производственной базы данных SQL Server 2005 находятся на отдельном физическом диске, который инструмент дефрагментации диска Microsoft Windows 2003 сообщает как фрагментированный на 99%.
Мы запланировали задачу дефрагментировать этот диск в 3 часа утра в субботу утром. Задание выполнено через 40 минут без видимых ошибок. Однако диск остается сильно фрагментированным.
Должны ли мы остановить службы SQL Server перед дефрагментацией?
КОНТЕКСТ
В зависимости от запросов: у нас есть экземпляр Microsoft SQL Server 2005 (9.00.5324.00), работающий под управлением 32-разрядной Windows Server 2003 (SP2) на оборудовании Dell PowerEdge 2950, около 2007 года, с 4 ГБ ОЗУ. PowerEdge 2950 имеет четыре диска по 68 ГБ, настроенных как RAID-1 для создания двух виртуальных дисков по 68 ГБ: (1) C (загрузка и ОС) и D (файл подкачки, другие данные); и (2) E (данные SQL). Насколько мне известно, ИТ-специалисты никогда не дефрагментировали ни один из этих дисков ... Disk Defragmenter сообщает о фрагментации файлов на 66% (C), 77% (D) и 99% (E). Системный монитор сообщает о следующих средних результатах: «Файл подкачки:% использования» = ~ 6,8% ; «SQL Server: менеджер буфера - ожидаемая продолжительность жизни страницы» = 20 секунд ; и «PhysicalDisk: средняя скорость записи в секунду на диск, диск E» = от 300 до 1,, Мы должны в течение нескольких месяцев произвести столь необходимое обновление оборудования и SQL Server (а именно: новое оборудование, 64-разрядную версию Windows Server 2012, 64-разрядную версию SQL Server 2012, 12 ГБ ОЗУ), но из-за производительность пользователя, хотите максимально облегчить проблему. Таким образом, мысль о дефрагментации файла может помочь для диска E, основного диска с данными SQL.
Кроме того, на прошлой неделе мы вытащили два неисправных диска и восстановили массив ... не уверенный, что это имеет значение. Мы заключаем договор с другой ИТ-командой на обслуживание сервера, поэтому у нас нет прямого доступа к оборудованию ... наша организация просто оплачивает услуги.
Мы можем позволить себе время простоя во время плановых периодов обслуживания (еженедельно), а также внеполосное время простоя, если необходимо, на ночь.
источник
SELECT *
повсеместно работают , или какой-то другой халатностью.Ответы:
Я лично использовал Raxco PerfectDisk (никак не связанный с компанией или кем-либо из ее сотрудников) для онлайн-дефрагментации логических модулей SQL Server. Работает отлично, если немного замедляет работу сервера. Я бы рекомендовал делать это в периоды легкой активности. Когда я говорю «работает отлично», я имею в виду, что он не портит том или файлы данных SQL.
Встроенный дефрагментатор работает очень плохо, если определенные структуры фрагментированы на диске. PerfectDisk показывает подробную информацию обо всех фрагментарных элементах, включая таблицы размещения NTFS, каталоги, альтернативные потоки файлов и т. Д. И т. Д.
PerfectDisk дефрагментирует базы данных SQL? http://support.raxco.com/KB/a106/does-perfectdisk-defragment-sql-databases.aspx
Посмотрите эту архивную копию журнала Technet News Magazine относительно SQL Server и фрагментации: http://web.archive.org/web/20100803204458/http://www.microsoft.com/technet/abouttn/flash/tips/tips_083104.mspx
источник
Ваша проблема не в фрагментации диска. Ваша проблема - сканирование ОЗУ и таблицы приложений:
Вам нужно путь больше оперативной памяти. Как на вашем новом сервере должно быть путь, путь, способ, путь больше, чем 12 ГБ. Начните с 64 ГБ, это стоит в основном десять центов . И да, исправьте ваше приложение, чтобы использовать индексы. 20 секунд - это очень четкое указание сканирования таблиц, которые уничтожают пул буферов. Вам нужно исправить приложение, добавить необходимые индексы и исправить ваши запросы . Для вашего случая дефрагментация дисков - это такая же красная сельдь, как и красная сельдь.
О, и, пожалуйста, переместите журнал, чтобы отделить физические шпиндели от данных . Один.
источник
Брэд МакГи хорошо описывает это здесь:
http://www.bradmcgehee.com/2011/06/do-you-ever-physically-defragment-your-sql-server-mdf-ldf-files/
... если вы оставите службу SQL Server работающей во время дефрагментации, файлы базы данных будут открыты и, следовательно, вообще не будут дефрагментированы.
источник