![]() |
![]() |
![]() |
|
Дефрагментация дисков с базами данных. | ☑ | ||
---|---|---|---|---|
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
|
И не стоит забывать, что внутри самого файла базы данные тоже фрагментированы, особенно, если запись идёт во множество таблиц.
Соответственно, если и делать дефрагментацию, то не только самого файла, но и данных в нём - то есть сборку таблиц в большие блоки, оптимизацию индексов и т.п. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |