Назад | Перейти на главную страницу

Сохранение SQL Express ниже 4 ГБ?

Каковы были бы рекомендуемые передовые методы для хранения базы данных SQL Express 2005 ниже лимита в 4 ГБ? Я готов экспортировать и архивировать контент из таблиц данных, но не уверен, что это поможет после их расширения.

Судя по тому, что я читал, не похоже, что я хочу попробовать уменьшить размер базы данных.

Пытаюсь немного отложить лицензирование апгрейда.

1) Удалить данные

Если у вас 1M записей и вы хотите сохранить только 10K из них, я предлагаю вам выбрать последние 10K во временной таблице, усечь всю таблицу с помощью команды TRUNCATE, затем вставить 10K записей обратно (вам может потребоваться отключить ограничения и идентификацию перед операцией и включите их снова после этого)

2) Сделайте резервную копию базы данных

3) Сжать файл базы данных и журнал транзакций.

Попробуйте сжать отдельные файлы с помощью DBCC SHRINKFILE, если DBCC SHRINKDATABASE не то, что вы хотите (он не может сжимать больше, чем исходный файл базы данных, но я думаю, что это не суть вашего вопроса)

Я не знаю, почему вы думаете, что shinking вам не поможет, пожалуйста, дайте нам несколько аргументов.

Также есть опция AUTO_SHRINK, но я никогда не пробовал ее с SQL Express

Кроме того, если ваша база данных растет из-за большого количества цифрового контента (документов, изображений), подумайте о переделке вашей системы, чтобы хранить этот контент в файловой системе и хранить в базе данных только имена файлов или гиперссылки.

В большинстве случаев базы данных растут слишком быстро, если они содержат много контрольной информации (когда каждое изменение в любой таблице где-то записывается) или когда в базе данных хранятся файлы. Если ваша база данных вырастает до 4 Гб и все эти актуальные важные данные, такие как транзакции, данные клиентов и т. Д., Тогда SQL Express - просто неподходящий инструмент для вас, и лучшим выбором будет обновление как можно скорее.