.NET网站中代码实现数据库自动备份

SallyAngela6 2011-12-07 09:52:08
各位高手,请教如何.NET网站程序中使用代码实现数据库的自动备份?
据前期查看资料所述,需要建立Windows服务,但是建立好后,写的方法,怎样定时?
才能让它每天的某个时间自动实现数据库备份呢?
...全文
363 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bobye1230 2011-12-07
  • 打赏
  • 举报
回复
楼主在sqlservre中有现成的功能。。其他的数据库不是很熟,但是估计应该都有。不需要用windows服务那么麻烦
SallyAngela6 2011-12-07
  • 打赏
  • 举报
回复
我想应该是在Windows服务里设置timer的吧?
头大...这个问题本来是可以在数据库里设置好的,但是现在不采取这种方式。
需要在程序里实现...

多谢各位赐教啊...
再想想怎么在Windows服务里设置timer定时,到每天的12:00点自动执行那个方法,自动备份数据库
SallyAngela6 2011-12-07
  • 打赏
  • 举报
回复
数据库维护计划我知道,但是现在要做的是在Windows 服务里用代码实现这个自动备份的功能,不用自带的那种
coregao0220 2011-12-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sallyangela6 的回复:]

具体该怎么做呢?要在程序代码里设置?
[/Quote]
开始 => 控制面板 => 任务计划 => 添加任务计划,按照提示一直下一步就可以了。
jhdxhj 2011-12-07
  • 打赏
  • 举报
回复
数据库的自动备份,在SQL2005中是有楼主说的功能的,楼主只需要设置数据库就行了,不需要你写代码
SallyAngela6 2011-12-07
  • 打赏
  • 举报
回复
请教楼上,我不明白的一个问题是,这个方法是设置每天的某个时间自动备份数据库的吗?是写在Windows 服务里的一个方法吗?我在网站中创建了一个Windows服务项目,写入这段代码后,是不是生成解决方案就可以了呢?
萧炎 2011-12-07
  • 打赏
  • 举报
回复

static string pathBak;
/// <summary>
/// 备份SQL数据库
/// </summary>
/// <param name="databasename">要备份的数据源名称</param>
/// <param name="backuptodatabase">备份到的数据库文件名称及路径.bak</param>
/// <returns>返回生成的备份文件全路径名</returns>
public string BakSql(string databaseName, string bakPath)
{
try
{
//声明临时数据库名称
string bakName = string.Empty;
if (bakPath.IndexOf(".bak") < 0)
{
bakName = databaseName;
bakName += DateTime.Now.Year.ToString();
bakName += DateTime.Now.Month.ToString();
bakName += DateTime.Now.Day.ToString();
bakName += DateTime.Now.Hour.ToString();
bakName += DateTime.Now.Minute.ToString();
bakName += DateTime.Now.Second.ToString();
bakName += ".bak";
if (bakPath.LastIndexOf('\\') != bakPath.Length)
bakPath += '\\';
}
FileInfo fi = new FileInfo(bakPath);
if (!Directory.Exists(fi.DirectoryName))
Directory.CreateDirectory(fi.DirectoryName);
bakPath = bakPath + bakName;
pathBak = bakPath;
bakPath = bakPath.Replace("\\", "/");
string sqlbak = string.Format("BACKUP DATABASE " + databaseName + " TO DISK = '{0}' WITH INIT", bakPath);
if (SqlHelper.ExecuteNonQuery(Common.objCom.GetConnectionString("DBMaster"), CommandType.Text, sqlbak) != 0)
return pathBak;
else
return string.Empty;
}
catch (Exception ex)
{
lbTip.Text = ex.Message;
lbTip.ForeColor = Color.FromName("#FF8080");
return string.Empty;
}
}
SallyAngela6 2011-12-07
  • 打赏
  • 举报
回复
具体该怎么做呢?要在程序代码里设置?
coregao0220 2011-12-07
  • 打赏
  • 举报
回复
在Windows中添加任务计划,可以设置时间。

110,541

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧