Нет никакого способа ответить на этот вопрос, кроме как посоветовать обновить «реальную» базу данных. При этом, если однопользовательская база данных достигает 4 ГБ без больших blob
с, то вы делаете что-то необычное.
Редактировать
Одна вещь, которую многие люди игнорируют, это ограничение ОЗУ и ЦП в редакции Express для SQL Server. В то время как в 2008 году и более ранних версиях ограничения размера базы данных составляли 4 ГБ (10 ГБ для 2008 R2, как указано в комментариях к этому вопросу), на вас гораздо больше шансов негативно повлиять ограничение 1 ГБ ОЗУ и одного ЦП, особенно с большими наборами данных.
Архивирование (почти) никогда не бывает простым решением, поскольку обычно оно включает либо разрыв существующих связей, либо дублирование данных. Например, предположим, у меня есть база данных Customer
с и Order
с.
Order
Customer ----------
--------- OrderID
CustomerID <--- CustomerID
... ...
Естественным выбором здесь является создание чужой буквы между двумя столбцами CustomerID
, что делает ее необнуляемой в таблице Order
. Но что происходит, когда я хочу заархивировать заказы? Либо мне нужно разорвать связь в архивной базе данных (позволяя ей ссылаться на CustomerID
, которой нет в архивной базе данных), либо я должен дублировать данные (заархивировать связанную запись Customer
, сохраняя при этом это вокруг в живой базе данных). Ни один из этих вариантов не является особенно желательным с точки зрения технического обслуживания.