Avec notre produit, nous avons un outil de sauvegarde simple pour la base de données du serveur SQL. Cet outil devrait juste faire faire une sauvegarde complète et restaurer vers et depuis n'importe quel dossier.Sql Server Sauvegarder et déplacer le fichier de sauvegarde: Comment faire face aux autorisations de fichiers?
Bien sûr, l'utilisateur (généralement un administrateur) a besoin d'une autorisation pour écrire dans le dossier cible.
Pour éviter le problème de ne pas pouvoir effectuer une sauvegarde sur un lecteur réseau, j'écris la sauvegarde dans un fichier temporaire dans le répertoire de sauvegarde de Sql Server. Ensuite, je le déplace vers le dossier cible. Cela nécessite l'autorisation de supprimer le fichier temporaire du dossier de sauvegarde des serveurs SQL. La restauration est la même dans l'autre sens.
Cela a semblé fonctionner correctement jusqu'à ce que quelqu'un l'a testé sur Vista, où l'utilisateur n'a pas accès en écriture au dossier de sauvegarde par défaut.
Il existe donc de nombreuses solutions pour résoudre ce problème, mais aucune d'entre elles ne semblait vraiment intéressante.
Une solution consisterait à trouver un autre dossier pour le fichier temporaire. L'utilisateur du serveur sql et l'administrateur exécutant la sauvegarde ont tous deux besoin d'autorisations de lecture et d'écriture. Y a-t-il un tel répertoire?
D'autres idées? Merci beaucoup.
Edit: solution doit travailler avec Sql Server 2005 et 2008, C# 3.0 (Smo), Windows XP et Vista.
Pourquoi ne pouvez-vous pas placer manuellement les autorisations correctes sur le dossier que vous utilisez pour contenir le fichier de sauvegarde? – Gabe
Il est installé par un installateur et doit fonctionner hors de la boîte. –