Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架6的SQL数据库备份_C#_Sql - Fatal编程技术网

C# 实体框架6的SQL数据库备份

C# 实体框架6的SQL数据库备份,c#,sql,C#,Sql,我正在使用此代码进行数据库备份。它工作正常,但此代码正在用新文件替换以前的文件。如何更改它,使其不会出现?您可以尝试以下方法: string dbname = _dbContext.Database.Connection.Database; const string sqlCommand = @"BACKUP DATABASE [{0}] TO DISK = N'{1}' WITH NOFORMAT, NOINIT, NAME = N'MajesticDb-Ali-Full Dat

我正在使用此代码进行数据库备份。它工作正常,但此代码正在用新文件替换以前的文件。如何更改它,使其不会出现?

您可以尝试以下方法:

string dbname = _dbContext.Database.Connection.Database;

const string sqlCommand = @"BACKUP DATABASE [{0}] TO  DISK = N'{1}' WITH NOFORMAT,
    NOINIT,  NAME = N'MajesticDb-Ali-Full Database Backup',
    SKIP, NOREWIND, NOUNLOAD,  STATS = 10";

int path = _dbContext.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior
    .DoNotEnsureTransaction,
    string.Format(sqlCommand, dbname, "MajesticDB"));

这样,备份名称“MajesticDB”就附加了日期和时间,因此每次调用备份过程时,数据库都将以不同的名称进行备份。

您可以尝试以下操作:

string dbname = _dbContext.Database.Connection.Database;

const string sqlCommand = @"BACKUP DATABASE [{0}] TO  DISK = N'{1}' WITH NOFORMAT,
    NOINIT,  NAME = N'MajesticDb-Ali-Full Database Backup',
    SKIP, NOREWIND, NOUNLOAD,  STATS = 10";

int path = _dbContext.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior
    .DoNotEnsureTransaction,
    string.Format(sqlCommand, dbname, "MajesticDB"));
这样,备份名称“MajesticDB”就附加了日期和时间,所以每次调用备份过程时,数据库都将使用不同的名称进行备份。

尝试这样做

string backupname= "MajesticDB" + DateTime.Now.ToString("yyyyMMddHHmm");
 const string sqlCommand = @"BACKUP DATABASE [{0}] TO  DISK = N'{1}' WITH NOFORMAT, NOINIT,  NAME = N'MajesticDb-Ali-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10";
       int path= _dbContext.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, string.Format(sqlCommand, dbname, backupname));
像这样试试

string backupname= "MajesticDB" + DateTime.Now.ToString("yyyyMMddHHmm");
 const string sqlCommand = @"BACKUP DATABASE [{0}] TO  DISK = N'{1}' WITH NOFORMAT, NOINIT,  NAME = N'MajesticDb-Ali-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10";
       int path= _dbContext.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, string.Format(sqlCommand, dbname, backupname));

您的问题是什么?您是否使用相同的名称覆盖db备份?是的,它将被覆盖。我想每天都保存一个新的time@RanaAli用您的数据库名称添加datetime。您的问题是什么?您是否用相同的名称覆盖数据库备份?是,它将被覆盖。我想每天都保存一个新的time@RanaAli用数据库名添加datetime。此行不正确
int path=\u dbContext.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction,string.Format(sqlCommand,dbBackUp,“MajesticDB”)
我想你是想把
dbBackUp
放进去,而不是
“MajesticDB”
,因为目前你没有重命名数据库backup@Draken编辑完成。打字错误谢谢注意。抱歉,回复和编辑太晚。此行不正确
int path=\u dbContext.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction,string.Format(sqlCommand,dbBackUp,“MajesticDB”)
我想你是想把
dbBackUp
放进去,而不是
“MajesticDB”
,因为目前你没有重命名数据库backup@Draken编辑完成。打字错误谢谢注意。很抱歉,回复和编辑延迟。