2013-02-27 6 views
0

Я использую SQL Server 2008 в качестве базы данных для приложения для рабочего стола Windows. Я перерабатываю продукт, и я могу использовать SQL Server 2008 или MySQL в будущем.Архивирование SQL Server 2008

Так что я думаю об общем решении для архивирования. Что-то похожее на SqlDump в SQL Server 2008? В настоящее время я не использую ORM, я планирую использовать Entity Framework в ближайшие дни.

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

Также у меня есть вопрос здесь: Что делать, если изменения схемы базы данных? Как восстановить старую базу данных?

Если нет общего решения я оценил бы решение специфичного для SQL Server 2008.

+0

Я бы рассмотрел дизайн, который не требует использования «старых данных», если это возможно. Если не существует огромного сценария использования данных, может быть разумным просто сохранить все соответствующие записи. Что касается этого вопроса, конкретный вариант использования на самом деле не был изложен ... для «автономного» настольного приложения «Я бы рекомендовал против MySQL. SQL Server Express, SQLite и Firebird достаточно хорошо работают в «безсерверной»/встроенной конфигурации. – 2013-02-27 05:42:02

+0

ОК. Позвольте мне дать вам сценарий. Давайте укажем его на SQL 2008. Я хочу, чтобы архивировать данные на пользовательском клике в пользовательском интерфейсе, Пользователь также может выбрать дату до момента ее архивирования. После архивирования строки должны быть удалены (только для повышения производительности). Я должен иметь возможность передавать архивированную БД на другой компьютер и восстанавливать ее там. Второй сценарий - это изменение схемы. Что, если пользователь попытается восстановить старую базу данных с помощью старый schema.how 2 справляется с этим? Также это архитектура клиентского сервера. Существует более нескольких компонентов (клиентов), подключающихся к серверу и к БД. – user1687824

+0

Удаление строк будет * не * «улучшать производительность» для правильно разработанной схемы с разумным количеством строк. Кроме того, дисковое пространство в наши дни является относительно дешевым. Поэтому не вводите проблему, если это не может быть проверенным/доказуемым случаем. – 2013-02-27 06:08:13

ответ

2

Тема архивирования, в общем, слишком широк для этого форума. Но я собираюсь поставить свои два цента. Я обнаружил, что лучше архивировать записи (т. Е. Буквально перемещать записи из одной таблицы в другую) и часто в другую базу данных.

Эта проблема устраняет проблему схемы, поскольку вы можете изменить схему таблицы архивов и сохранить ее в синхронизации.

Он также позволяет вам создавать специализированные отчеты, которые фактически включают архивные данные в качестве опции.

Он также позволяет вам настраивать архитектуру сервера для ваших баз данных архивов иначе, чем ваши производственные базы данных. Они даже не должны быть на одном сервере. Их даже не нужно связывать. Создание приложения .NET для перемещения строк из одной базы данных в другую через регулярные интервалы, основанные на ваших потребностях, будет довольно тривиальным.

+0

Спасибо за ответ. Что, если я хочу переместить архивированную БД с одного ПК на другой? – user1687824

+0

@ user1687824: Ну, если вы используете отключенный подход, я упоминал, что это не должно быть проблемой. Вам просто нужно иметь возможность подключиться к двум SQL-серверам в сети. –