0

J'ai construit une base de données SQL Server Express qui sera hébergée sur un disque dur externe. Je dois pouvoir ajouter/mettre à jour des données sur la base de données qui se trouve sur mon système, ainsi que sur d'autres systèmes, puis uniquement sauvegarder ou transférer des données qui ont été ajoutées ou modifiées sur le disque dur externe. Quelle est la meilleure façon d'y parvenir?Sauvegarde uniquement les enregistrements nouveaux ou modifiés

Répondre

0

Vous utiliseriez probablement la réplication pour cela, mais comme vous utilisez SQL Server Express, ce n'est pas une option.

Vous aurez besoin d'un mécanisme quelconque pour déterminer ce qui a changé entre les sauvegardes. Ainsi, chaque table aura besoin d'une colonne d'horodatage ou de date de dernière mise à jour mise à jour chaque fois qu'un enregistrement est inséré ou mis à jour. Il est probablement plus facile de mettre à jour cette colonne à partir d'un déclencheur plutôt que de votre application. Une fois que vous savez quels enregistrements sont insérés ou mis à jour, il suffit de rechercher ceux-ci depuis la dernière exécution de l'action.

Une alternative consiste à ajouter une colonne de bits qui est mise à jour mais cela semble moins flexible.

0

Sherry, s'il vous plaît expliquer l'application et quelle est la justification de votre conception. La base de données n'a aucun mécanisme pour le faire. Vous devrez suivre les changements vous-même, puis faire ce que vous devez faire. SQL Server 2008 intègre une fonctionnalité de suivi des modifications, mais je ne pense pas que cela vous aidera avec Express.

En outre, jetez un oeil à la Sync Framework. L'ajout de ceci dans votre plate-forme est une charge utile majeure, mais si la synchronisation des données est l'un des principaux objectifs de votre application, elle peut être payante pour vous.

0

Dans une application

Si vous faites cela à partir d'une application, chaque fois qu'une ligne est mise à jour ou inséré - Modifier une colonne bit/bool appelé sale et la valeur true. Lorsque vous sélectionnez les lignes à exporter, sélectionnez uniquement les colonnes ayant la valeur dirty sur true. Après l'exportation, définissez toutes les colonnes incorrectes sur false.

En dehors d'une demande

DTS Assistant

Si vous faites cela en dehors d'une application, puis exécutez ceci à la ligne de commande:

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

Cette article explique comment obtenir l'Assistant DTS (il n'est pas inclus par défaut).

Il est inclus dans le SQL Server Express Edition Toolkit - et seulement que. Si vous avez installé une autre version de SSE, cela fonctionne très bien pour installez ce paquet par la suite sans désinstaller les autres.Obtenez ici: http://go.microsoft.com/fwlink/?LinkId=65111

L'Assistant DTS est inclus dans l'option « Business Intelligence Development Studio » alors assurez-vous le sélectionner pour l'installation

Si vous avez installé une autre version de l'ESS, l'installateur peut signaler qu'il n'y a rien à installer. Remplacer en cochant la case qui affiche le numéro de version (en l'assistant d'installation)

Après l'installation terminée, l'Assistant DTS est disponible à c: \\ Microsoft SQL Server \ 90 \ DTS \ Binn \ dtswizard.exe vous pourrait vouloir faire un raccourci, ou même l'inclure dans le menu des outils de SQL Studio.

bcp Utility

Les copies en vrac utilitaire bcp de données entre une instance de Microsoft SQL Server et données> fichier dans un format spécifié par l'utilisateur. L'utilitaire bcp peut être utilisé pour importer un grand nombre de nouvelles lignes dans des tables SQL Server ou pour exporter des données de tables vers des fichiers de données. Sauf> lorsqu'il est utilisé avec l'option queryout, l'utilitaire ne nécessite aucune connaissance de Transact-SQL. Pour importer des données dans une table, vous devez utiliser un fichier de format créé pour cette table ou> comprendre la structure de la table et les types de données valides pour ses colonnes .

Questions connexes