Каковы были бы рекомендуемые передовые методы для хранения базы данных SQL Express 2005 ниже лимита в 4 ГБ? Я готов экспортировать и архивировать контент из таблиц данных, но не уверен, что это поможет после их расширения.
Судя по тому, что я читал, не похоже, что я хочу попробовать уменьшить размер базы данных.
Пытаюсь немного отложить лицензирование апгрейда.
1) Удалить данные
Если у вас 1M записей и вы хотите сохранить только 10K из них, я предлагаю вам выбрать последние 10K во временной таблице, усечь всю таблицу с помощью команды TRUNCATE, затем вставить 10K записей обратно (вам может потребоваться отключить ограничения и идентификацию перед операцией и включите их снова после этого)
2) Сделайте резервную копию базы данных
3) Сжать файл базы данных и журнал транзакций.
Попробуйте сжать отдельные файлы с помощью DBCC SHRINKFILE, если DBCC SHRINKDATABASE не то, что вы хотите (он не может сжимать больше, чем исходный файл базы данных, но я думаю, что это не суть вашего вопроса)
Я не знаю, почему вы думаете, что shinking вам не поможет, пожалуйста, дайте нам несколько аргументов.
Также есть опция AUTO_SHRINK, но я никогда не пробовал ее с SQL Express
Кроме того, если ваша база данных растет из-за большого количества цифрового контента (документов, изображений), подумайте о переделке вашей системы, чтобы хранить этот контент в файловой системе и хранить в базе данных только имена файлов или гиперссылки.
В большинстве случаев базы данных растут слишком быстро, если они содержат много контрольной информации (когда каждое изменение в любой таблице где-то записывается) или когда в базе данных хранятся файлы. Если ваша база данных вырастает до 4 Гб и все эти актуальные важные данные, такие как транзакции, данные клиентов и т. Д., Тогда SQL Express - просто неподходящий инструмент для вас, и лучшим выбором будет обновление как можно скорее.