я могу создать резервную копию базы данных на жестком диске с помощью следующего метода:Резервное копирование базы данных SQL Server с жесткого диска с помощью хранимых процедур?
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";
}
}
и, как я могу преобразовать его в хранимую процедуру?
(Я новичок в SQL Server)
Собственно, я видел это раньше, но я не мог создать вышеупомянутый «SP» сам. –
Спасибо, Но моя база данных находится на жестком диске рядом с моим файлом exe для Win App! –
Отредактировано, однако я не считаю, что ваш параметр DatabaseFullPath может быть путем к файлу mdf, так как это недопустимый синтаксис. Это будет имя базы данных. Также я не считаю, что ваша БД должна быть в однопользовательском режиме для выполнения резервного копирования –