Увеличиваем размер базы данных Microsoft Access более 2 гигабайт

увеличение размера базы данных Microsoft  access более 2 гигабайтВсем известно, что реляционная СУБД Access имеет ограничение на размер базы данных не более 2 гигабайт. И тут случился казус, в соседнем структурном подразделении когда-то давно было внедрено программное обеспечение на этом самом ацессе. Можно конечно долго рассуждать, почему разработчики сразу не выбрали в качестве системы управления базами данных MSSQL, или хотя бы  PostreSQL. Но как говорится, что сделано, то сделано.
Естественно, через некий промежуток времени база разрослась до предела в 2 гига, хотя ее периодически очищали от ненужных записей. Встал вопрос. как же быть дальше, как преодолеть ограничение Microsoft Access в 2 гигабайта ?
И ответ был прост, надо использовать сжатие файлов и папок. В отличие от файловой системы FAT32, в которой можно было сжать лишь весть диск целиком, файловая система NTFS поддерживает сжатие файлов и папок. То есть можно настроить систему так, что сжиматься будет только папка, содержащая файлы с базами данных, при этом всемто 2 гигабайт она займет на диске 700 мегабайт, при этом сервер не будет терять производительность, обращаясь к другим данным на жестком диске (что естественно, так как они находятся в несжатом состоянии).
Итак, приступим, существуют два способа сжать папку – через GUI интерфейс и через командную строку. Рассмотрим первый способ:


Увеличение объема для базы данных Microsoft access через графический интерфейс пользователя
Жмем на правую кнопку мыши по папке, далее выбираем пункт меню «далее», в следующем «окне» нажимаем кнопку «другие» и ставим чек-бокс в поле «сжимать содержимое для экономии места на диске». После этого название папки изменит цвет с черного на синий, что и будет означать, что данные в этой папке сжаты.
Вид сжатой папки на файловой системе NTFS
Для сжатия файлов и папок из командной строки в операционной системе Windows NT/2000/XP/Seven присутствует утилита compact. Ключи ее можно узнать, набрав в консоли
compact /?
Для того, чтобы сдать папку с базами данных, находящимися в корне диска С, зайдем в командную строку:
Пуск-> Выполнить -> cmd.exe
В ней перейдем в корень диска
cd \
Собственно сожмем каталог, содержащий наш данные:
compact –c –s:c:\базы_данных
сжатие папки на файловой системе NTFS через командную строку

В конечном итоге через некоторое время база все же разрослась. Я предлагал использовать любую другую СУБД, тот же MySQL к примеру, заточив его работу через драйвер ODBC. Но к этому времени разработчики наконец то добавили опцию работы с SQL сервером от Microsoft, и мы благополучно импортировании базу в MSSQL. В данный момент на сервере установлена бесплатная СУБД Microsoft SQL Server Express Edition 2008 R2, позволяющая использовать базы данных до 10 гигабайт, а так как мы установили базу данных в сжатый каталог, то я думаю предел базы у нас гигабайт в 30. Так что на наш век хватит. :Вот так мы перешли с проприетарного Access на бесплатный MSSQL Express Edition 2008.
Далее пришлось настраивать резервное копирование базы данных.

 

Комментарии  

 
#2 проф. Алекс 07.04.2013 10:19
Цитирую Андрей:
А при работе с файлом Аксесс его не распаковывает разве? Так и работает со сжатым?

Папка-то сжата, следовательно чтение-запись информации идет в сжатый файл.
Другое дело, что это занимает ресурсы компьютера.
Цитировать
 
 
#1 Андрей 10.03.2013 16:27
А при работе с файлом Аксесс его не распаковывает разве? Так и работает со сжатым?
Цитировать
 

Добавить комментарий


Защитный код
Обновить