【发布时间】:2014-10-08 05:35:25
【问题描述】:
我正在尝试在由EF6 建模的应用程序中执行backUp 和restore 命令。
为了我的备份,我创建了一个Sp,您可以在此处看到:
CREATE PROCEDURE GetBackUp
-- Add the parameters for the stored procedure here
@address nvarchar(max)
AS
BEGIN
BACKUP DATABASE [db-invoice-169] to DISK=@address
END
GO
在我的应用程序中,我称之为Sp
private void Backup_Click(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
string str_filename = string.Empty;
sfd.FileName = "backup_database_" + DateTime.Now.ToShortDateString().Replace("/", "_");
sfd.Filter = @"backup files(*.bak)|*.bak|all files(*.*)|*.*";
sfd.FilterIndex = 1;
sfd.OverwritePrompt = true;
sfd.Title = "***save backup files***";
if (sfd.ShowDialog() == DialogResult.OK)
{
str_filename = sfd.FileName;
backup(str_filename);
}
}
private void backup(string str_filename)
{
try
{
this.Cursor = Cursors.WaitCursor;
db.Database.ExecuteSqlCommand(@"EXEC [dbo].[back_up] @address = N'"+str_filename+"'");
this.Cursor = Cursors.Default;
MessageBox.Show("عملیات پشتیبان گیری موفقیت آمیز بود");
}
catch (Exception ex)
{
MessageBox.Show("عملیات پشتیبان گیری موفقیت آمیز نبود |" + ex.Message);
}
}
但是我收到了这个错误:
无法在事务中执行备份或恢复操作。 BACKUP DATABASE 异常终止。
【问题讨论】:
标签: c# sql-server entity-framework transactions backup