Backup di un database utilizzando c#

domenica 08 maggio 2011 - 21.12

Joly Profilo | Newbie

Salve a tutti, avrei questo problema:
ho creato un'utility che dovrebbe fare il backup di un database utilizzando c# ma mi genera un errore.

Il mio codice di riferimento è quello che si trova al seguente link:
http://www.codeproject.com/KB/database/SQL_Server_2005_Database.aspx
tenendo conto che utilizzo l'autenticazione di Windows per il mio database, sviluppo con Visual Studio 2010 e come DBMS utilizzo SQL Server 2008 R2.

Ho aggiunto i riferimenti ai due namespace:
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;

e ho fatto uso della classe Microsoft.SqlServer.Management.Smo.Backup per il mio backup.

Il mio codice completo è il seguente:

public void BackupDatabase(String databaseName, String destinationPath)
{
Backup sqlBackup = new Backup();

sqlBackup.Action = BackupActionType.Database;
sqlBackup.BackupSetDescription = "ArchiveDataBase:" + DateTime.Now.ToShortDateString();
sqlBackup.BackupSetName = "Archive";
sqlBackup.Database = databaseName;
BackupDeviceItem deviceItem = new BackupDeviceItem(destinationPath, DeviceType.File);

SqlConnection sqlCon = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename= C:\\Users\\Nome Cognome\\Documents\\Visual Studio 2010
\\Projects\\dbNome\\dbNome\\dbNome.mdf;Integrated Security=True;");
ServerConnection connection = new ServerConnection(sqlCon);
Server sqlServer = new Server(connection);

Database db = sqlServer.Databases[databaseName];

sqlBackup.Initialize = true;
sqlBackup.Checksum = true;
sqlBackup.ContinueAfterError = true;

sqlBackup.Devices.Add(deviceItem);
sqlBackup.Incremental = false;

sqlBackup.ExpirationDate = DateTime.Now.AddDays(3);
sqlBackup.LogTruncation = BackupTruncateLogType.Truncate;

sqlBackup.FormatMedia = false;
try
{
sqlBackup.SqlBackup(sqlServer);
}
catch (Exception ex)
{
//.. messaggio di errore
MessageBox.Show(ex.Message, "ERRORE", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{

}
}


Il problema è che quando lancio il programma mi genera il seguente errore:

"IMPOSSIBILE ESEGUIRE BACKUP PER SERVER 'PC-NOMECOGNOME\SQLEXPRESS'."

Qualcuno mi potrbbe aiutare a risolvere questo problema?
Grazie per la disponibilità e per il tempo che mi dedicherete.

Joly

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5