je peux sauvegarder une base de données sur le disque dur avec la méthode suivante:Sauvegarde d'une base de données SQL Server à partir du disque dur avec des procédures stockées?
void BackUp(string ConnectionString, string DatabaseFullPath, string backUpPath)
{
progressBar1.Value = 0;
using (SqlConnection con = new SqlConnection(ConnectionString))
{
con.Open();
string UseMaster = "USE master";
SqlCommand UseMasterCommand = new SqlCommand(UseMaster, con);
UseMasterCommand.ExecuteNonQuery();
progressBar1.Value += 25;
string Alter1 = @"ALTER DATABASE [" + DatabaseFullPath + "] SET Single_User WITH Rollback Immediate";
SqlCommand Alter1Cmd = new SqlCommand(Alter1, con);
Alter1Cmd.ExecuteNonQuery();
progressBar1.Value += 25;
string Restore = @"BACKUP DATABASE [" + DatabaseFullPath + "] TO DISK = N'" + backUpPath + @"' WITH NOFORMAT, NOINIT, NAME = N'" + DatabaseFullPath + "-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10";
SqlCommand RestoreCmd = new SqlCommand(Restore, con);
RestoreCmd.ExecuteNonQuery();
progressBar1.Value += 25;
string Alter2 = @"ALTER DATABASE [" + DatabaseFullPath + "] SET Multi_User";
SqlCommand Alter2Cmd = new SqlCommand(Alter2, con);
Alter2Cmd.ExecuteNonQuery();
progressBar1.Value += 25;
labelReport.Text = "Successful";
}
}
et, Comment puis-je convertir à une procédure stockée? (Je suis débutant dans SQL Server)
En fait, je l'ai vu avant, mais je ne pouvais pas créer le SP ci-dessus par moi-même. –
Merci, mais ma base de données est sur le disque dur à côté de mon fichier exe Win App! –
Modifié, cependant je ne crois pas que votre paramètre DatabaseFullPath puisse être le chemin vers le fichier mdf car ce n'est pas une syntaxe valide. Ce sera le nom de la base de données. Aussi je ne crois pas que votre DB doit être en mode mono-utilisateur pour effectuer la sauvegarde –