社区
C#
帖子详情
有谁做过数据库备份没啊,教教小弟!!
tuoliao722
2005-05-17 09:20:40
做完了一个小项目,没做过数据库备份,请大哥们指点!
...全文
255
13
打赏
收藏
有谁做过数据库备份没啊,教教小弟!!
做完了一个小项目,没做过数据库备份,请大哥们指点!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yzg100
2005-05-17
打赏
举报
回复
写个存储过程来备份,文件时加上系统时间精确到秒。程序里来执行存储过程就行了。
wh8254
2005-05-17
打赏
举报
回复
backup database dbname
不过楼主要注意了,重复备份时,可能数据库中的数据会重复,而不是覆盖!
可以找个数据库操作下!
liukanghui
2005-05-17
打赏
举报
回复
如果是sql server用自带的备份向导比较好
sea_in_yellow
2005-05-17
打赏
举报
回复
这是从我自己的 SQL-Server 的项目中拷贝下来的原代码,是用 SQL_DMO 来操作的,
你看看对你有没有帮助。
sea_in_yellow
2005-05-17
打赏
举报
回复
public bool BackUpDB( string ServerName, string UserName, string Password, string strDbName,string strFileName )
{
SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass() ;
try
{
svr.Connect(ServerName,UserName,Password) ;
SQLDMO.Backup bak = new SQLDMO.BackupClass();
bak.Action = 0 ;
bak.Initialize = true ;
SQLDMO.BackupSink_PercentCompleteEventHandler pceh = new SQLDMO.BackupSink_PercentCompleteEventHandler(Step);
bak.PercentComplete += pceh;
bak.Files = strFileName;
bak.Database = strDbName;
bak.SQLBackup(svr);
return true ;
}
catch(Exception err)
{
throw(new Exception("数据库备份失败"+err.Message)) ;
}
finally
{
svr.DisConnect() ;
}
}
sea_in_yellow
2005-05-17
打赏
举报
回复
private void btnBackData_Click(object sender, System.EventArgs e)
{
if( ""==strBackPath )
{
MessageBox.Show("请先选择备份路径!");
}
else
{
this.Cursor = Cursors.WaitCursor;
if( BackUpDB( Global.MainIni.IniReadValue("DataBase","Server"),
Global.MainIni.IniReadValue("DataBase","UID"),
Encrypt.Decrypt3DES( Global.MainIni.IniReadValue("DataBase","PWD"), Encrypt.strKey ) ,
Global.MainIni.IniReadValue("DataBase","DataBase"),
strBackPath )
)
{
this.Cursor = Cursors.Arrow;
MessageBox.Show("数据备份成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
this.proBar.Value = 0;
}
this.Cursor = Cursors.Arrow;
}
strBackPath = "";
}
private void btnRestoreData_Click(object sender, System.EventArgs e)
{
if(MessageBox.Show("该操作将数据覆盖!!\n\n如果选择[是],将原来的数据覆盖\n\n如果选择[否],将取消恢复","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==DialogResult.No)
return;
return;
this.Cursor = Cursors.WaitCursor;
if( RestoreData( Global.MainIni.IniReadValue("DataBase","Server"),
Global.MainIni.IniReadValue("DataBase","UID"),
Encrypt.Decrypt3DES( Global.MainIni.IniReadValue("DataBase","PWD"), Encrypt.strKey ) ,
Global.MainIni.IniReadValue("DataBase","DataBase"),
strRestorePath )
)
{
this.Cursor = Cursors.Arrow;
MessageBox.Show("数据恢复成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
this.proBar.Value = 0;
}
}
public bool RestoreData( string ServerName, string UserName, string Password,string strDbName,string strFileName )
{
SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass() ;
try
{
svr.Connect(ServerName,UserName,Password) ;
SQLDMO.QueryResults qr = svr.EnumProcesses(-1) ;
int iColPIDNum = -1 ;
int iColDbName = -1 ;
for(int i=1;i<=qr.Columns;i++)
{
string strName = qr.get_ColumnName(i) ;
if (strName.ToUpper().Trim() == "SPID")
{
iColPIDNum = i ;
}
else if (strName.ToUpper().Trim() == "DBNAME")
{
iColDbName = i ;
}
if (iColPIDNum != -1 && iColDbName != -1)
break ;
}
for(int i=1;i<=qr.Rows;i++)
{
int lPID = qr.GetColumnLong(i,iColPIDNum) ;
string strDBName = qr.GetColumnString(i,iColDbName) ;
if (strDBName.ToUpper() == strDbName.ToUpper())
svr.KillProcess(lPID) ;
}
}
catch(Exception err)
{
throw(new Exception("恢复数据库失败,请关闭所有和该数据库连接的程序!"+err.Message)) ;
}
try
{
SQLDMO.Restore res = new SQLDMO.RestoreClass() ;
res.Action = 0 ;
SQLDMO.RestoreSink_PercentCompleteEventHandler pceh = new SQLDMO.RestoreSink_PercentCompleteEventHandler(Step);
res.PercentComplete += pceh;
res.Files = strFileName ;
res.Database = strDbName ;
res.ReplaceDatabase = true ;
res.SQLRestore(svr) ;
return true;
}
catch(Exception err)
{
throw(new Exception("恢复数据库失败,请关闭所有和该数据库连接的程序!"+err.Message)) ;
}
finally
{
svr.DisConnect() ;
}
}
FirstNet
2005-05-17
打赏
举报
回复
csdn上还有会编程的吗,不是来蹭分就是瞎答问题,一群”酒囊饭袋“
koy0755
2005-05-17
打赏
举报
回复
access的话直接copy文件.
如果是sqlserver的话用sql语句如下:
backup database 数据库名 disk='备份的文件名'
tuoliao722
2005-05-17
打赏
举报
回复
写代码
wingnal
2005-05-17
打赏
举报
回复
写代码还是操作?
brando_beat
2005-05-17
打赏
举报
回复
很多的,你在csdn上面搜一下
lindaolong
2005-05-17
打赏
举报
回复
access的话就拷贝文件
copyfile()
fengfangfang
2005-05-17
打赏
举报
回复
backup database dbname
ssh框架mysql备份,
小弟
我想在ssh框架中实现
数据库备份
如何弄(mysql数据库)
我想在ssh框架中实现
数据库备份
怎么弄(mysql数据库)我想在ssh框架中实现
数据库备份
怎么弄(mysql数据库),能不能告诉我点思路。比如用hibernate执行什么sql语句就可以让他备份一个sql文件放到我的服务器上。谢谢分享到:------解决方案--------------------既然是mysql就用dos吧.简单@echooffsettxt1=%date:~0,4%::当...
Linux MySQL数据库的备份
Linux MySQL数据库的全库和单库备份 MySQL数据库的备份重要性不用多说,备份方式也很多,但常用的是MySQL自带的备份程序MySQLdump,该程序一键备份,一键恢复,十分方便,并且备份形式支持远程保存备份文件,多种媒介存储,十分的方便。 下面就以
数据库备份
在本地,恢复到另一台远程主机为例,演示数据库的备份以及远程迁移。 环境说明:两台主机,第一台主机IP地址为192.168.0.3,数据库为zabbix,该库内有多表。暂定称呼为三号。 第二台主机IP地址为1...
大哥,大姐!
小弟
跪求解毒方法!!
小弟
电脑中的是w32.chir.B@mm病毒,病毒原文件已经被删除,可是被感染.exe文件被杀毒软件清除过的都不能用了!有什么好办法吗?比如针对这个病毒的工具的软件或别方法!我备份的软件全部都被感染了!真是急死我了~~~!下面是在网上找到的一点资料基本信息 病毒名称:W32.Chir.B@mm(中国黑客变种) 别 名:I-Worm.Runouce.b [AVP],
【MySQL】备份数据库并验证数据库的条数是否正确
前言: 需要对生产环境的数据进行更新和迁移,因此操作前需要
做
一次数据的备份,但是备份的数据如何确保数量正确,因此有了下文。虽然有阿里云的全盘备份,但是这是在有钞能力的情况下才能使用,正常小项目不可能这样去
做
,因此手动的导出是我能想到性价比最高的方式了 兄弟们有更好的方式可以提点提点
小弟
,谢谢 网上最常见的几种备份方式: 单表备份还原 优点:操作简单,并且能比较直观的看到备份的结果,甚至可以通过SQL语句去校验是不是两个表的数据完全一致。 缺点:表比较少的时候确实很好用,但是一旦涉及到的备份表很多的
ssh框架mysql备份,
小弟
我想在ssh框架中实现
数据库备份
如何弄(mysql数据库)(2)...
当前位置:我的异常网» J2EE»
小弟
我想在ssh框架中实现
数据库备份
如何弄(mysql数
小弟
我想在ssh框架中实现
数据库备份
如何弄(mysql数据库)(2)www.myexceptions.net网友分享于:2015-08-26浏览:7次StringexportDatabaseName=properties.getProperty("jdbc.exportDatabaseNam...
C#
111,128
社区成员
642,534
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章