Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 reorganize  [new]
cmr
Member

Откуда:
Сообщений: 6
Коллеги подскажите пожалуйста.
На sql server 2005 развернута бд, в которой есть одна очень большая таблица, которая занимает значительное место – там хранятся скан документы. Было принято решение перенести часть закрытых заявок в архивную БД – на другой сервер. В дальнейшем перенос по закрытым заявкам планируется проводить каждый месяц. После переноса в файлах данных файловой группы освободилось место.

Name FileTypeStr Filegroup SizeInMB UsedSpaceInMB Autogrowth PathOnly
CS_Data Data PRIMARY 328390.69 MB 136519.19 MB By 0 KB, unrestricted growth E:\DB
CS_Data01 Data PRIMARY 350144.00 MB 185267.56 MB By 0 KB, unrestricted growth F:\DB
CS_Data02 Data PRIMARY 146053.00 MB 89503.69 MB By 0 KB, unrestricted growth I:\DB
CS_Data03 Data PRIMARY 140000.00 MB 92051.81 MB By 0 KB, unrestricted growth G:\DB
CS_Data04 Data PRIMARY 54857.88 MB 42706.56 MB By 0 KB, unrestricted growth D:\DB
CS_Log Log N/A 36828.50 MB 16445.47 MB By 10240 KB, unrestricted growth E:\DB

Поскольку с БД sql server особо не сталкивался , тем более таких объемов , есть вопросы как наиболее правильно поступить в сложившейся ситуации относительно реорганизации данных и дальнейшего освобождения дисковых ресурсов.
-Выполнить очистку небольших файлов и переместить данные в другие файлы той же файловой группы.
-Выполнить очистку неиспользуемого пространства и переместить ужатые файлы на другие диски.
-Создать отдельную файловую группу под эту большую таблицу и переместить данные в нее, после этого все сжать с перемещением, перестроить индексы.
Пытался выполнить упорядочивание небольшого файла перед освобождением неиспользуемого места – передвижение страниц привело к очень интенсивному заполнению журнала и в конечном итоге заполнению всего дискового пространства, где находился файл журнала. Сколько примерно необходимо зарезервировать пространства под журнал при выполнении подобных операций? Сколько вообще они могут длиться на таких объемах?
8 ноя 11, 15:39    [11564411]     Ответить | Цитировать Сообщить модератору
 Re: reorganize  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
cmr
Сколько примерно необходимо зарезервировать пространства под журнал при выполнении подобных операций? Сколько вообще они могут длиться на таких объемах?


Всё очень индивидуально.
8 ноя 11, 16:10    [11564702]     Ответить | Цитировать Сообщить модератору
 Re: reorganize  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
Может, лучший вариант - создать новую базу и перелить все данные туда?
8 ноя 11, 16:13    [11564729]     Ответить | Цитировать Сообщить модератору
 Re: reorganize  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
Выполнить очистку небольших файлов и переместить данные в другие файлы той же файловой группы. 
разве такое возможно?

зачем вообще сжимать БД, если она потом опять будет расти отжирапя ресурсы на увеличение файлов?
8 ноя 11, 16:30    [11564895]     Ответить | Цитировать Сообщить модератору
 Re: reorganize  [new]
SanyL
Member

Откуда: Москва
Сообщений: 4540
Наи более правильно:
Создать отдельную файловую группу под эту большую таблицу и переместить данные в нее, после этого все сжать с перемещением, перестроить индексы.


за рядом поправок:
1. не для этой таблицы, а для всего что содержит lob данные.
2. сжать, я так понимаю имеется ввиду shrink - не всегда имеет смысл это делать, вернее в большинстве случаев наооборот лучше не делать.
3. Если шринк в Вашем случае необходим - то индексы лучше всего перестроить. Причем не только на перемещаемых объектах.
8 ноя 11, 16:30    [11564896]     Ответить | Цитировать Сообщить модератору
 Re: reorganize  [new]
SanyL
Member

Откуда: Москва
Сообщений: 4540
HandKot
Выполнить очистку небольших файлов и переместить данные в другие файлы той же файловой группы. 
разве такое возможно?

зачем вообще сжимать БД, если она потом опять будет расти отжирапя ресурсы на увеличение файлов?


тут переносятся lob данные - занимающие, как правило, основной объем. т.е. когда lob данные перенесены может освободиться столько пространства, которое будет заполняться оставшимися данными, с учетом прогноза роста, несколько десятилетий. Кроме этого когда в одной ФГ и lob и остальное - это как правило сильно влияет на внешнюю фрагментацию, т.е. после переноса всеравно есть смысл перестроить индексы. Если нам предстоит перестраивать индексы и мы имеем бешенный свободный объем внутри БД - то вполне логично оставить объем которого нам хватит скажем на полгода и выставить нормальный прирост файла данных.
8 ноя 11, 16:37    [11564951]     Ответить | Цитировать Сообщить модератору
 Re: reorganize  [new]
cmr
Member

Откуда:
Сообщений: 6
HandKot
Выполнить очистку небольших файлов и переместить данные в другие файлы той же файловой группы. 
разве такое возможно?

зачем вообще сжимать БД, если она потом опять будет расти отжирапя ресурсы на увеличение файлов?


Может я неправильно выразился, но имел ввиду раздел shrink action: Empty file by migrating the data to other files in the same filegroup.
8 ноя 11, 16:52    [11565087]     Ответить | Цитировать Сообщить модератору
 Re: reorganize  [new]
cmr
Member

Откуда:
Сообщений: 6
Мне надо освободить часть дисков. Поэтому и рассматриваю вариант с очисткой части файлов с перемещением данных из них в другие. Нужно ли выполнять перестроение индексов после этой операции?
8 ноя 11, 16:57    [11565144]     Ответить | Цитировать Сообщить модератору
 Re: reorganize  [new]
SanyL
Member

Откуда: Москва
Сообщений: 4540
cmr
Мне надо освободить часть дисков. Поэтому и рассматриваю вариант с очисткой части файлов с перемещением данных из них в другие. Нужно ли выполнять перестроение индексов после этой операции?


тут немного иная последовательность:
1. создаете новые файлы
2. перемещаете туда дынные
3. шринкуете старые файлы

На вопрос нужно ли перестроение индексов поможет ответ на вопрос: А зачем и когда перестраиваются индексы?
В большинстве случаев (в т.ч. и в Вашем) причиной перестроения служит фрагментация... Другими словами, как общая рекомендация тем кому "лень" - надо перестроить индексы!, а если человек привык вникать в то что он делает - то стоит посмотреть на фрагментацию и принять решение о перестроении. (на самом деле есть пороговые значения для внутренней и внешней фрагментации и в зависимости от них либо индекс не трогаем либо выполняется реорганизация индекса либо перестроение индекса)
9 ноя 11, 08:50    [11567283]     Ответить | Цитировать Сообщить модератору
 Re: reorganize  [new]
cmr
Member

Откуда:
Сообщений: 6
Подскажите пожалуйста еще такой момент, SQL server, при выполнении бєкапа, бэкапит все выделенные страницы в файлах файловых групп или только занятые? Измениться ли скорость выполнения бєкапа сжатых файлов?
10 ноя 11, 15:03    [11575565]     Ответить | Цитировать Сообщить модератору
 Re: reorganize  [new]
SanyL
Member

Откуда: Москва
Сообщений: 4540
cmr
Подскажите пожалуйста еще такой момент, SQL server, при выполнении бєкапа, бэкапит все выделенные страницы в файлах файловых групп или только занятые? Измениться ли скорость выполнения бєкапа сжатых файлов?

занятые
10 ноя 11, 16:39    [11576604]     Ответить | Цитировать Сообщить модератору
 Re: reorganize  [new]
SanyL
Member

Откуда: Москва
Сообщений: 4540
cmr
Подскажите пожалуйста еще такой момент, SQL server, при выполнении бєкапа, бэкапит все выделенные страницы в файлах файловых групп или только занятые? Измениться ли скорость выполнения бєкапа сжатых файлов?


скорость бэкапа сжатых файлов не изменится, но если есть возможность выполнить резервное копирование с сжатием бэкап-файла - то для больших объемов прирост скорости рез копирования высокий получается.
10 ноя 11, 16:41    [11576623]     Ответить | Цитировать Сообщить модератору
 Re: reorganize  [new]
cmr
Member

Откуда:
Сообщений: 6
SanyL,
Подскажите пожалуйста. Если у меня есть бд у которой 5 файлов с данными и в них есть свободное место(где-то треть от занимаемого). При попытке сжать самый маленький файл (50Гб, из них свободно - 10) до указанного размера с реорганизацией(второй пункт в menegment studio) процесс запускаеться и тупо висит(оставлял на ночь). Что можно предпринять?
29 ноя 11, 21:08    [11680219]     Ответить | Цитировать Сообщить модератору
 Re: reorganize  [new]
SanyL
Member

Откуда: Москва
Сообщений: 4540
cmr
SanyL,
Подскажите пожалуйста. Если у меня есть бд у которой 5 файлов с данными и в них есть свободное место(где-то треть от занимаемого). При попытке сжать самый маленький файл (50Гб, из них свободно - 10) до указанного размера с реорганизацией(второй пункт в menegment studio) процесс запускаеться и тупо висит(оставлял на ночь). Что можно предпринять?


А что происходит когда он "тупо висит" ? Может блокировка какаято или что?
29 ноя 11, 22:47    [11680576]     Ответить | Цитировать Сообщить модератору
 Re: reorganize  [new]
cmr
Member

Откуда:
Сообщений: 6
Нет блокировок, в том то и дело.
29 ноя 11, 23:23    [11680658]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить