J'ai une application cliente qui s'exécute sur plusieurs machines et qui se connecte à une seule base de données SQL. Sur l'application cliente, l'utilisateur a la possibilité d'utiliser une base de données SQL locale (CE) ou de se connecter à une base de données SQL distante. Il y a aussi une boîte où un emplacement de sauvegarde peut être défini.SqlBackup à partir de mon application client
Pour la sauvegarde de la base de données SQL distant J'utilise le code suivant:
var BDI = new BackupDeviceItem (BackupFile, DeviceType.File); var backup = new Sauvegarde { Base de données = "AppDb", Initialize = true };
backup.Devices.Add (bdi);
var serveur = nouveau Serveur (connexion); backup.SqlBackup (serveur);
Lors du développement de mon application, je n'étais pas au courant que le backupFile
donné est écrit sur la machine sur laquelle le serveur SQL s'exécute! Et pas sur la machine client. Ce que je veux c'est "vider" toutes les données de ma base de données vers un fichier local .
(Pourquoi? Parce que les utilisateurs peuvent entrer un emplacement réseau dans la zone "emplacement de sauvegarde" et que la sauvegarde SQL est immédiatement échouée, il faut d'abord écrire en local, puis copier sur le réseau.
Y a-t-il une alternative à la méthode ci-dessus?
Merci pour votre réponse, mais ce n'est pas ce que je cherche. Mes utilisateurs ne comprennent pas "partager un dossier" et il y en a trop pour le faire moi-même manuellement. Je veux donc que la solution soit extrêmement conviviale. –
Les utilisateurs n'ont pas besoin de partager le dossier. Vous devez le faire sur le serveur SQL distant à partir duquel la sauvegarde est effectuée. Votre application copiera ensuite le fichier de sauvegarde de ce dossier partagé sur la machine locale des utilisateurs. – Darnell
Le serveur SQL distant est également une machine côté client. En dehors de mon contrôle. –