presumo che tu stia eseguendo il tuo programma come operazione programmata ... hai dato permessi di scrittura alla cartella di destinazione per l'utente che esegue l'attività ??
edit:
con i permessi è possibile avere 2 scenari:
- finestre authenification
- autentificazione mista
se si utilizza Windows autenticazione, i permessi di lettura e scrittura di l'utente di Windows è preso. altrimenti le autorizzazioni per l'account del servizio SQL Server.
e questo comportamento ha senso per me e forse ha colpito il chiodo nel tuo scenario!
Edit 2:
non voglio incoraggiarvi a farlo ... alcuni amministratori possono odiarti quando si fa confusione del loro ACL ma this può fare il trucco
btw: Magnus Johansson already gave un link
non importa per quale metodo si va "questo try-" - (! come descriped sopra) da essere sicuri di consegnare l'utente corretto
(fo R storia completa)
...
side-nota:
So che questa non è la risposta esatta alla tua domanda, ma vi consiglio di SMO per generare i backup ...
come
using Microsoft.SqlServer.Management.Smo;
var bdi = new BackupDeviceItem(/* your path inlcuding desired file */);
var backup = new Backup
{
Database = /* name of the database */,
Initialize = true
};
backup.Devices.Add(bdi);
var server = new Server(this.SqlServer);
try
{
backup.SqlBackup(server);
}
catch (Exception ex)
{
// * log or sth
}
hai solo a prendersi cura dei dll di. prendere le assemblee per la versione server desiderato (alcuni params/proprietà variano attraverso le versioni server differenti)
più informazioni here
fonte
2009-04-08 10:15:24