社区
C#
帖子详情
有谁做过数据库备份没啊,教教小弟!!
tuoliao722
2005-05-17 09:20:40
做完了一个小项目,没做过数据库备份,请大哥们指点!
...全文
158
13
打赏
收藏
有谁做过数据库备份没啊,教教小弟!!
做完了一个小项目,没做过数据库备份,请大哥们指点!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
oracle教程很实用
文档还提到了对象关系数据库系统和其他数据库的知识,这说明Oracle教程不仅仅关注Oracle自身的知识体系,还包括了更广泛的数据库系统知识,让读者能够对数据库领域有一个全面的认识。 在文档的引言部分,提到了...
DB基本概念之 ---
数据库备份
与恢复(实际项目运用)
初次接触
数据库备份
与恢复,目前是应用在这样一个场景: 我们平时开发都是在自己的开发环境中进行,开发完成之后,需要将oracle数据库转到位客户部署的服务器之上。 所以就需要将开发环境中的
数据库备份
出来,然后...
MySQL数据库实操教程(23)——
数据库备份
与还原
在操作数据库时难免会发生一些意外造成数据丟失。例如:突然断电、管理员的操 作失误都可能导致数据的...为了确保数据的安全,需要定期对数据库进行备份,从而当遇到数据库中数据丢失或者出错的情况可将数据进行还原。
MySQL数据库被黑了
MySQL数据库被黑了黑的方式
没
找到 日志
没
开 但是知道怎么预防了第一种 直接mysql.ini文件里面设置第二种 配置防火墙 tm的倒了血霉了 今天登录测试库发现数据库被黑了,把原来的数据库弄走了只给我创建了个z_readme_...
MySQL的安装配置 及 MySQL配置,服务管理,基本使用,性能优化,安全性,监控与日志管理,扩展与高可用,备份与恢复,版本升级与迁移注意事项
通过掌握性能优化、安全性、监控与日志管理、扩展与高可用、备份与恢复以及版本升级与迁移等方面的知识,你可以更好地管理MySQL数据库,确保其稳定、高效地运行,并满足业务的需求。以上就是MySQL的安装配置教程的...
C#
111,095
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章