0

Я создал базу данных SQL Server Express, которая будет размещаться на внешнем hd. Мне нужно иметь возможность добавлять/обновлять данные в базе данных, находящейся в моей системе, а также в других системах, а затем выполнять только резервное копирование или передачу данных, которые были добавлены или отредактированы на внешний жесткий диск. Каков наилучший способ сделать это?Резервное копирование только новых или отредактированных записей

ответ

0

Возможно, вы использовали репликацию для этого, но поскольку вы используете SQL Server express, это не вариант.

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

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

Альтернативой является добавление обновленного столбца, но это кажется менее гибким.

0

Шерри, пожалуйста, объясните заявку и обоснование для вашего дизайна. В базе данных нет никакого механизма для этого. Вам придется отслеживать изменения самостоятельно, а затем делать все, что вам нужно. SQL Server 2008 имеет встроенную функцию отслеживания изменений, но я не думаю, что это поможет вам с Express.

Также взгляните на Sync Framework. Добавление этого в вашу платформу является важной полезной нагрузкой, но если синхронизация данных является одной из основных целей вашего приложения, она может окупиться за вас.

0

В приложении

Если вы делаете это из приложения, каждый раз, когда строка обновляется или вставляться - изменить столбец бит/Ьоо называемый грязный и значение ИСТИНА. Когда вы выбираете строки для экспорта, выберите только столбцы с грязным значением, равным true. После экспорта установите для всех грязных столбцов значение false.

Вне приложения

Мастер DTS

Если вы делаете это вне приложения, а затем запустить это в командной строке:

Run "C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTSWizard.exe" 

Этот article объясняет, как получить мастер DTS (он не включен в качестве значения по умолчанию).

Он включен в SQL Server Express Edition Toolkit - и только этого. Это вы установили еще одну версию SSE , она отлично работает до . Затем установите этот пакет , не удаляя другие.Получить это здесь: http://go.microsoft.com/fwlink/?LinkId=65111

Мастер DTS включен в вариант «Business Intelligence Development Studio», поэтому обязательно выбрать, что для установки

Если вы установили другую версию из SSE, установщик может сообщить , что установить ничего не нужно. Override, проверив флажок , который отображает номер версии (в мастера установки)

после установки, закончил, DTS мастер доступна на C: \\ Microsoft SQL Server, \ 90 \ DTS \ Binn \ dtswizard.exe вы можете сделать ярлык, или даже включить его в меню инструментов SQL Studio.

bcp Utility

БКП утилита сыпучие копирует данные между экземпляром Microsoft SQL Server и данных> файл в указанном пользователем формате. Утилита bcp может использоваться для импорта больших чисел> новых строк в таблицы SQL Server или для экспорта данных из таблиц в файлы данных. За исключением> при использовании с опцией запроса, утилита не требует знания Transact-SQL. Чтобы импортировать данные в таблицу, вы должны либо использовать файл формата, созданный для этой таблицы, либо> понять структуру таблицы и типы данных, которые действительны для своих столбцов .