2013-07-29 6 views
2

Я работаю над проектом, в котором я использовал визуальный C# в качестве front end и SQL Server 2008 R2 Express для бэкэнд.Восстановление SQL Server 2008 R2 Express

Теперь я знаю, что база данных SQL Server Express имеет ограничение по размеру 10 ГБ, поэтому я написал код для резервного копирования базы данных при достижении лимита выбора, и я удаляю базу данных после успешного завершения резервного копирования.

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

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

Должен ли я написать какую-нибудь другую утилиту для просмотра старых данных ..?

Каждый день в базу данных помещается около 50 МБ данных, поэтому для достижения размера выборки потребуется около 8 месяцев (по моим грубым расчетам). и что касается характера приложения, пользователь не будет часто использовать архивные данные. рассмотрите это и предложите мне подход.

спасибо заранее .. !!

ответ

0

Надеюсь, у меня есть вопрос, но рассмотрим следующее предложение для работы:
одна база данных («Текущая БД»), которая хранит данные в реальном времени.

Когда дело касается размера, он сбрасывается (или копируется mdf + ldf) в архив.
и хранится с отметками времени (FROM-TO).

При необходимости данных соответствующий мпд прилагается как новая база данных «офлайн».
(вы можете использовать строку подключения для присоединения MDF-файла к SQL Server.)
и использовать это соединение вместо живого.

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

Посмотрите на: Connection String to Connect to .MDF как подключить экземпляр MDF к SQL Server.

+0

благодарит за ваш ответ. У вас точно были мои вопросы, и ур-предложение тоже актуально, я тоже думал о том, чтобы делать что-то вроде этого .. но поскольку я новичок, мне нужно сделать больше домашней работы для реализации этого .. будет очень признателен, если вы можете предоставить мне что-то вроде кода .. –

+0

еще одна вещь, которую я хочу спросить, поскольку мы знаем, что сервер sql express 2008 имеет ограничение на размер базы данных 10 ГБ, так что, возможно ли, что восстановленная база данных + currentDB будет превышать 10 ГБ ..? ваши отзывы об этом будут действительно полезны для меня. –

+0

1-й, я думаю, что предел для каждой базы данных, а не для экземпляра. 2nd, у вас могут быть два экземпляра SQL Server Express :) –

0

Если вы вводите данные на совершенно новом сервере базы данных, ваши старые запросы не будут работать над новым. Поскольку ограничение по SQL Express не для каждой базы данных, а для каждого сервера базы данных. Вы можете создать новый SQL Express Server, связать свои серверы и создать запрос со связанным сервером (How to create a linked server @ msdn)

Вам нужно будет настроить свои запросы.

Если вы запрашиваете данные Теперь, как это:

SELECT em.Name, em.Telefone FROM employees AS em 

Вам необходимо обратиться к базе данных тоже.

SELECT [server1\db1].dbo.em.Name, [server1\db1].dbo.em.Telefone FROM [server1\db1].dbo.employees AS em 

для текущей базы данных и

SELECT [server2\backup].dbo.em.Name, [server2\backup].dbo.em.Telefone FROM [server2\backup].dbo.em.Name 

Можно, как это, но я бы не советовал. Если вы превысили 10 ГБ данных, тогда у вас могут быть большие таблицы. Каждая таблица на связанном сервере полностью копируется на ваш сервер и может вызвать серьезный сетевой трафик и занимает довольно много времени для выполнения.

Я бы подумал о том, чтобы получить стандартную версию SQL.

+0

спасибо за ваш быстрый ответ. каждый день около 50 МБ данных вставляется в базу данных, поэтому для достижения размера выборки потребуется около 8 месяцев. и что касается характера приложения, пользователь не будет часто использовать архивные данные. пожалуйста, подумайте об этом и предложите мне подход .. –