2010-03-25 4 views
1

Lorsque j'essaie d'exécuter la commande de sauvegarde de base de données suivante à partir de mon code, j'obtiens une erreur «Erreur système 5 (Accès refusé)». Cela est dû au fait que le compte de connexion pour le service Windows SQL Server est «Service réseau» et que ce dernier n'a pas accès à ce dossier.Sauvegarde de la base de données SQL Server: Accès au fichier Service réseau

BACKUP DATABASE [AE3DB] TO DISK = 'c:\AE3\backup\AE3DB.bak' 

Ma question est, de mon code comment pourrais-je aller tenter de comprendre où sur le lecteur C « Network Service » est autorisé à droite la sauvegarde?

REMARQUE: il s'agit d'une application distribuée. Par conséquent, je ne peux pas facilement modifier la connexion du service Windows SQL Server au compte 'Système local' qui serait en mesure d'accéder directement à ce dossier.

+0

Avez-vous la possibilité de spécifier la sécurité sur ce dossier afin que NETWORK SERVICE puisse y écrire? Penser en termes de propriétés de partage et de sécurité Windows sur c: \ AE3 \ backup. –

Répondre

2

Vous n'allez pas sur la recherche d'endroits au hasard sur C: \ où le compte de service SQL Server a un accès en écriture ...

Vous pouvez choisir entre:

  • place les sauvegardes dans le Emplacement de sauvegarde SQL Server. Ceci est spécifié lors de l'installation et il est correctement ACL afin que le compte de service dispose de toutes les autorisations nécessaires. Voir « Répertoire de sauvegarde » dans http://msdn.microsoft.com/en-us/library/cc281941.aspx
  • lieu la sauvegarde dans un bien connu emplacement que vous créer et vous ACLit pour les autorisations appropriées pour le compte de service SQL Server. Vous ne devez pas accorder l'autorisation au compte de service lui-même (SERVICE RÉSEAU dans ce cas) mais octroyer plutôt au groupe de service d'administration SQL Server: SQLServerMSSQLUser$ComputerName$MSSQLSERVER. Voir http://msdn.microsoft.com/en-us/library/ms143504.aspx
0

Le point entier du compte de service réseau est de ne pas avoir de droits sur le disque local. Cela évite les failles de sécurité réseau.

Je suppose que votre serveur est verrouillé, ce qui signifie que vous devez vous connecter localement pour effectuer une sauvegarde ou utiliser le compte administrateur pour le faire à distance.

Questions connexes