aiki » Пн янв 11, 2016 11:03
-Никола- писал(а):Подниму тему.
Разделение баз на базу с декларациями и базу с ЭД сообщениями помогло на 2 года. База с декларациями достигла 10Гбт. Варианта было 3.
1. Купить SQL
2. Поставить SQL с одного из трекеров )
3. Архивировать старые декларации.
Решил пойти по третьему пути. Большого опыта работы с базами данных нет, есть только общее понимание. Подробного описания процесса не нашел, поэтому делал интуитивно. Сделал бэкап основной базы, создал через SQL Management новую базу Arhiv_1 и попытался восстановить в нее базу из бэкапа. Сразу получил ошибку, поскольку основная база (gtd) и восстанавливаемая база (Arhiv_1) имеют одинаковые файлы.
Два файла подменил на аналогичные от базы Arhiv_1, а третий (ftrow...) создал вручную.
После этого все прошло гладко. Проверил в альте "Просмотр архивной SQL БД", все видно и работает.
Пришло время чистить основную БД. Запустил встроенную процедуру из Альты с параметрами удалить все старее 1го января 2015:
Сжал базу:
Удалив 4 года из 5, базу удалось уменьшить только на 15%.
Собственно возникли вопросы:
1. Правильно ли я делал архивную копию, есть ощущение, что можно было сделать более корректно.
2. Почему база сократилась так незначительно? Это явно какая то ошибка.
Доброго дня. Вы пошли мудреным путем
Для создания архивной БД лучше воспользоваться утилитой DBUTILS (там и другие плюшки есть) Находится на любом месте где установлен продукт Альта-софт в подкаталоге utils. Она значительно упростит вам работу с БД, проста и понятна.
Теперь по поводу объема.
Если вы чистили основную БД с параметрами как на вашем скрине, то видно что не включены множество типов документов. Возможно самые "тяжелые" остались в БД, например ЭД2-картинки.
По уму, надо разобраться что в вашей основной БД кушает больше места и уже смотреть можете ли вы удалить этот тип документов и до каких пределов. Сделать это можно SQL запросом к базе в том же менеджмент студио
SELECT doctyp, sum(convert(bigint,[DOCSIZE])), count(*)
FROM ["имя базы"].[dbo].[Docs]
group by doctyp
order by 2 desc
в выводе получите 3 столбца
1 - тип документов
2 - занимаемый объем в БД типом документов (в байтах. Думаю учить как пересчитывать не стоит
)
3 - количество документов в БД конкретным типом
Таким образом, посмотрев на столбец 2, вы поймете какой тип документов в вашей БД занимает больше все места.
[quote="-Никола-"]Подниму тему.
Разделение баз на базу с декларациями и базу с ЭД сообщениями помогло на 2 года. База с декларациями достигла 10Гбт. Варианта было 3.
1. Купить SQL
2. Поставить SQL с одного из трекеров )
3. Архивировать старые декларации.
Решил пойти по третьему пути. Большого опыта работы с базами данных нет, есть только общее понимание. Подробного описания процесса не нашел, поэтому делал интуитивно. Сделал бэкап основной базы, создал через SQL Management новую базу Arhiv_1 и попытался восстановить в нее базу из бэкапа. Сразу получил ошибку, поскольку основная база (gtd) и восстанавливаемая база (Arhiv_1) имеют одинаковые файлы.
[img]http://s017.radikal.ru/i402/1601/ab/3eb6a1759c54.jpg[/img]
Два файла подменил на аналогичные от базы Arhiv_1, а третий (ftrow...) создал вручную.
[img]http://s017.radikal.ru/i422/1601/46/d7329151b5a0.jpg[/img]
После этого все прошло гладко. Проверил в альте "Просмотр архивной SQL БД", все видно и работает.
Пришло время чистить основную БД. Запустил встроенную процедуру из Альты с параметрами удалить все старее 1го января 2015:
[img]http://s018.radikal.ru/i503/1601/8f/df5a6d710c4c.jpg[/img]
Сжал базу:
[img]http://s018.radikal.ru/i514/1601/cb/e6d038baf804.png[/img]
Удалив 4 года из 5, базу удалось уменьшить только на 15%.
Собственно возникли вопросы:
1. Правильно ли я делал архивную копию, есть ощущение, что можно было сделать более корректно.
2. Почему база сократилась так незначительно? Это явно какая то ошибка.[/quote]
Доброго дня. Вы пошли мудреным путем :)
Для создания архивной БД лучше воспользоваться утилитой DBUTILS (там и другие плюшки есть) Находится на любом месте где установлен продукт Альта-софт в подкаталоге utils. Она значительно упростит вам работу с БД, проста и понятна.
Теперь по поводу объема.
Если вы чистили основную БД с параметрами как на вашем скрине, то видно что не включены множество типов документов. Возможно самые "тяжелые" остались в БД, например ЭД2-картинки.
По уму, надо разобраться что в вашей основной БД кушает больше места и уже смотреть можете ли вы удалить этот тип документов и до каких пределов. Сделать это можно SQL запросом к базе в том же менеджмент студио
SELECT doctyp, sum(convert(bigint,[DOCSIZE])), count(*)
FROM ["имя базы"].[dbo].[Docs]
group by doctyp
order by 2 desc
в выводе получите 3 столбца
1 - тип документов
2 - занимаемый объем в БД типом документов (в байтах. Думаю учить как пересчитывать не стоит :) )
3 - количество документов в БД конкретным типом
Таким образом, посмотрев на столбец 2, вы поймете какой тип документов в вашей БД занимает больше все места.