Я создал базу данных SQL Server Express, которая будет размещаться на внешнем hd. Мне нужно иметь возможность добавлять/обновлять данные в базе данных, находящейся в моей системе, а также в других системах, а затем выполнять только резервное копирование или передачу данных, которые были добавлены или отредактированы на внешний жесткий диск. Каков наилучший способ сделать это?Резервное копирование только новых или отредактированных записей
ответ
Возможно, вы использовали репликацию для этого, но поскольку вы используете SQL Server express, это не вариант.
Вам понадобится какой-то механизм для определения того, что изменилось между резервными копиями. Таким образом, для каждой таблицы потребуется временная отметка времени или последний обновленный столбец времени, который обновляется каждый раз, когда запись вставлена или обновлена. Вероятно, проще обновить этот столбец от триггера, а не от вашего приложения.
Как только вы узнаете, какие записи вставлены или обновлены, это просто вопрос поиска их с момента последнего действия.
Альтернативой является добавление обновленного столбца, но это кажется менее гибким.
Шерри, пожалуйста, объясните заявку и обоснование для вашего дизайна. В базе данных нет никакого механизма для этого. Вам придется отслеживать изменения самостоятельно, а затем делать все, что вам нужно. SQL Server 2008 имеет встроенную функцию отслеживания изменений, но я не думаю, что это поможет вам с Express.
Также взгляните на Sync Framework. Добавление этого в вашу платформу является важной полезной нагрузкой, но если синхронизация данных является одной из основных целей вашего приложения, она может окупиться за вас.
В приложении
Если вы делаете это из приложения, каждый раз, когда строка обновляется или вставляться - изменить столбец бит/Ьоо называемый грязный и значение ИСТИНА. Когда вы выбираете строки для экспорта, выберите только столбцы с грязным значением, равным 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.
БКП утилита сыпучие копирует данные между экземпляром Microsoft SQL Server и данных> файл в указанном пользователем формате. Утилита bcp может использоваться для импорта больших чисел> новых строк в таблицы SQL Server или для экспорта данных из таблиц в файлы данных. За исключением> при использовании с опцией запроса, утилита не требует знания Transact-SQL. Чтобы импортировать данные в таблицу, вы должны либо использовать файл формата, созданный для этой таблицы, либо> понять структуру таблицы и типы данных, которые действительны для своих столбцов .