Имя: Пароль:
IT
Админ
Дефрагментация дисков с базами данных.
0 Lama12
 
07.06.13
16:38
Есть сервер. На нем дисковый массив 10.
На массиве базы MS SQL server.

Вопрос.
Нужно ли, периодически, проводить дефрагментацию дисков.

Если да, то как?
Останавливать SQL server и запускать дефрагментацию?
Как рассчитать время на которое нужно останавливать SQL server?

Если не нужно, то почему?
1 Hazer79
 
07.06.13
16:42
(0) У меня дефрагментация раз в неделю ночью, во время, когда с БД никто не работает.
SQL Server не останавливаю
2 Lama12
 
07.06.13
16:51
(1) А результат есть? Если SQL server не останавливать, то он файлы баз будет держать. Следовательно дефрагментация самих файлов базу произведена не будет.
3 ptiz
 
07.06.13
16:56
Тоже интересно
У нас для БД выделен отдельный логический диск на рейд-10. Но как физически оно разбросано - кто же знает.
Не попробовать ли удалить БД и заново её закинуть.
4 ReaLg
 
07.06.13
17:02
У нас при замене сервера админ сразу сделал начальный размер базы = реальный размер * 5. Мотивировав как раз тем, что пока база не перерастет этот объем - дефрагментации не будет.
5 ReaLg
 
07.06.13
17:02
(4)*Фрагментации
6 Lama12
 
07.06.13
17:05
(4) Логично. Что еще сказать.
7 mikecool
 
07.06.13
17:06
(4) логично,  так и с логами обычно поступают
8 ansh15
 
07.06.13
17:14
(2)Пишут, что специальная утилита(которая в статье рекламируется) позволяет не останавливать сервер.
http://www.sql.ru/articles/mssql/2007/090501diskeeper.shtml
9 ansh15
 
07.06.13
17:19
10 ReaLg
 
07.06.13
18:23
(6)(7) Значит, теоретически, можно выгрузить базу, пересоздать с начальными размерами побольше, загрузить назад и не париться какое-то время с дефрагментацией. На практике все зависит от размера базы, наличия свободного места и времени простоя на все эти операции...
11 Lama12
 
07.06.13
20:36
(10) ага...
12 Jump
 
07.06.13
21:10
(10)Да.
Но самый прогрессивный вариант  - купить SSD, перенести базу туда, и забыть навсегда про фрагементацию.
13 mistеr
 
08.06.13
10:12
(0) Дефрагментация на RAID10? SQL база? Если только совсем заняться нечем, или серверную прогреть.

Учите матчасть, Ламы...
14 Славен
 
08.06.13
10:17
(12)+100, но ретрограды как всегда "сырая ещё"
15 mistеr
 
08.06.13
10:19
(13) Да, на вопрос (0) "почему" ответ: не даст заметного эффекта. Разве что полные бэкапы чуть быстрее сливаться будут.
16 Славен
 
08.06.13
10:20
17 Славен
 
08.06.13
10:23
ну или вот более раскрыто http://forum.ixbt.com/topic.cgi?id=66:2117. Если короче то на рейде дефрагментацию можно не делать
18 Славен
 
08.06.13
10:25
ну и если знать схему работы рэйда то можно сделать вывод дефраг тут точно не поможет, не даст рэйд заботливо рассортированные фрагменты файлов в одну кучу собрать
19 Fragster
 
гуру
08.06.13
11:20
если диски только под субд - то нафиг не надо, в 100500 раз больше эффекта будет от переиндексации
20 Fragster
 
гуру
08.06.13
11:21
ну и желательно лог на отдельном томе держать
21 МихаилМ
 
08.06.13
12:14
нужно сразу выделять дефрагментированное пространство для файлов бд  с избытком
22 Lama12
 
08.06.13
12:49
(18) Эх... если б знал физику рейдов, то вопросов таки не задавал бы:) В общем понял х.з. что там ФС на уровне ОС думает, контроллер все сделает по своему. Следовательно на дефрагментацию плевать ему.

(21) Это понятно.
23 МихаилМ
 
08.06.13
12:51
+(21) и не забывать про выравнивание
24 Torquader
 
09.06.13
11:42
И не стоит забывать, что внутри самого файла базы данные тоже фрагментированы, особенно, если запись идёт во множество таблиц.
Соответственно, если и делать дефрагментацию, то не только самого файла, но и данных в нём - то есть сборку таблиц в большие блоки, оптимизацию индексов и т.п.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший