社区
C#
帖子详情
用C#怎么样实现备份数据库与恢复数据库功能呀?
yangkang0752
2004-05-06 12:20:12
用C#怎么样实现备份数据库与恢复数据库功能呀?
...全文
122
9
打赏
收藏
用C#怎么样实现备份数据库与恢复数据库功能呀?
用C#怎么样实现备份数据库与恢复数据库功能呀?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ppq886
2004-07-02
打赏
举报
回复
收藏
liqiang2003
2004-05-07
打赏
举报
回复
用存储过程:
1建立自动任务:
EXECUTE pr_AutoBackup "baktest","d:\Database",23,3
设置为每小时执行一次。
2.在Server – SQL Server – Configuration 中选中Auto Start Executive at Boot Time
3.在Master数据库建立存储过程
CREATE PROCEDURE pr_AutoBackup @db_to_bak varchar(20),
@file_path varchar(20),
@on_hour int,
@remain_day int
AS
DECLARE @this_day int,
@bak_count int,
@str_file_name varchar(30),
@str_del_device varchar(20),
@str_last_device varchar(20),
@last_day int,
@this_hour int,
@strSQL varchar(60)
SELECT @this_day = datepart(dayofyear,getdate())
SELECT @bak_count = count(name),@str_last_device = max(name),
@last_day = max(convert(int,substring(name,charindex("_",name)+1,3)))
FROM sysdevices
WHERE charindex("_",name)=datalength(@db_to_bak)+1
AND substring(name,1,datalength(@db_to_bak))=@db_to_bak
IF SUBSTRING(@file_path,datalength(@file_path),1)<>”\”
SELECT @file_path = @file_path + “\”
SELECT @this_hour = datepart(hour,getdate())
IF ((@this_hour = @on_hour)and(@this_day<>@last_day))or(@bak_count = 0)
BEGIN
SELECT @str_last_device = @db_to_bak+"_"+convert(varchar(3),@this_day)
SELECT @str_file_name = @file_path + @str_last_device + “.dat”
SELECT @strSQL =“DUMP TRANSACTION ” + @db_to_bak + “ WITH TRUNCATE_ONLY”
EXECUTE(@strSQL)
SELECT @strSQL =“sp_addumpdevice ‘DISK’,’”+@str_last_device + “’,’”+@str_file_name+”’”
EXECUTE(@strSQL)
SELECT @strSQL =“DUMP DATABASE “+ @db_to_bak + “ TO “ + @str_last_device
EXECUTE(@strSQL)
SELECT @str_del_device = @db_to_bak + ”_” + convert(varchar(4),@this_day - @remain_day)
SELECT @bak_count = count(name)
FROM sysdevices
WHERE name = @str_del_device
IF (@bak_count=1)
BEGIN
SELECT @strSQL =“sp_dropdevice “+ @str_del_device +”,DELFILE”
EXECUTE(@strSQL)
END
END
ELSE
BEGIN
SELECT @strSQL =“DUMP TRANSACTION “+ @db_to_bak + “ TO “ + @str_last_device
EXECUTE(@strSQL)
END
lg9706032921
2004-05-07
打赏
举报
回复
<HTML>
<HEAD>
<TITLE>SQL Server 数据库的备份与恢复</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>
<BODY>
<form method="post" name=myform>
选择操作:<INPUT TYPE="radio" NAME="act" id="act_backup" value="backup"><label for=act_backup>备份</label>
<INPUT TYPE="radio" NAME="act" id="act_restore" value="restore"><label for=act_restore>恢复</label>
<br>数据库名:<INPUT TYPE="text" NAME="databasename" value="<%=request("databasename")%>">
<br>文件路径:<INPUT TYPE="text" NAME="bak_file" value="c:\$1.bak">(备份或恢复的文件路径)<br>
<input type="submit" value="确定">
</form>
<%
dim sqlserver,sqlname,sqlpassword,sqlLoginTimeout,databasename,bak_file,act
sqlserver = "sa" 'sql服务器
sqlname = "sa" '用户名
sqlpassword = "123" '密码
sqlLoginTimeout = 15 '登陆超时
databasename = trim(request("databasename"))
bak_file = trim(request("bak_file"))
bak_file = replace(bak_file,"$1",databasename)
act = lcase(request("act"))
if databasename = "" then
response.write "input database name"
else
if act = "backup" then
Set srv=Server.CreateObject("SQLDMO.SQLServer")
srv.LoginTimeout = sqlLoginTimeout
srv.Connect sqlserver,sqlname, sqlpassword
Set bak = Server.CreateObject("SQLDMO.Backup")
bak.Database=databasename
bak.Devices=Files
bak.Files=bak_file
bak.SQLBackup srv
if err.number>0 then
response.write err.number&"<font color=red><br>"
response.write err.description&"</font>"
end if
Response.write "<font color=green>备份成功!</font>"
elseif act = "restore" then
'恢复时要在没有使用数据库时进行!
Set srv=Server.CreateObject("SQLDMO.SQLServer")
srv.LoginTimeout = sqlLoginTimeout
srv.Connect sqlserver,sqlname, sqlpassword
Set rest=Server.CreateObject("SQLDMO.Restore")
rest.Action=0 ' full db restore
rest.Database=databasename
rest.Devices=Files
rest.Files=bak_file
rest.ReplaceDatabase=True 'Force restore over existing database
if err.number>0 then
response.write err.number&"<font color=red><br>"
response.write err.description&"</font>"
end if
rest.SQLRestore srv
Response.write "<font color=green>恢复成功!</font>"
else
Response.write "<font color=red>没有选择操作</font>"
end if
end if
%>
</BODY>
</HTML>
用的SQLSERVER 自己的功能,
yangkang0752
2004-05-07
打赏
举报
回复
能够用存储过程来做吗?请大家帮帮忙吧,我在做一个系统,正要实现这个功能啊
ChinaKable
2004-05-06
打赏
举报
回复
关注,UP!
dongyp511
2004-05-06
打赏
举报
回复
关注,UP!
jaxkxu
2004-05-06
打赏
举报
回复
些批处理之后C#中调用 *.bat
mastercy
2004-05-06
打赏
举报
回复
建议把数据导出到另外的文件
恢复时在导入即可
李洪喜
2004-05-06
打赏
举报
回复
这方面的东东挺多的,搜索一下吧。
SQL Server
数据库
备份
与
恢复
(
C#
代码示例)
在压缩包文件"SQL Server
数据库
备份
与
恢复
"中,可能包含了详细的
C#
代码示例,你可以参考这些示例来理解如何在你的项目中集成这些
功能
。 总之,SQL Server
数据库
的
备份
与
恢复
是系统稳定性和数据安全性的关键保障。...
C#
实现
SQL
数据库
备份
与
恢复
在IT领域,特别是
数据库
管理与开发中,
C#
与SQL的结合使用为
数据库
的
备份
与
恢复
提供了高效且灵活的方法。本文将深入解析如何利用
C#
实现
SQL
数据库
的
备份
与
恢复
,这一过程对于确保数据安全、避免数据丢失以及进行灾难...
C#
代码
实现
数据库
备份
和
恢复
总之,
C#
为
数据库
备份
和
恢复
提供了强大且灵活的工具,通过SMO库可以直接与SQL Server进行通信,
实现
自动化和定制化的数据保护策略。理解这些概念并能熟练运用,对于任何IT专业人员来说,都是提升工作效率和数据安全...
C#
实现
备份
、还原MySql
数据库
本篇将详细讲解如何使用
C#
语言来
实现
MySQL
数据库
的
备份
与还原
功能
,并探讨如何通过线程设置定时自动
备份
。 首先,我们需要了解
C#
中与MySQL交互的基础知识。
C#
可以借助MySQL的数据提供者(如MySql.Data.MySqlClient...
C#
备份
还原
数据库
回溯源码
本项目“
C#
备份
还原
数据库
回溯源码”提供了一种使用
C#
编程语言
实现
这一
功能
的方法,特别适用于需要进行回溯操作的场景。下面我们将详细探讨这个主题。 首先,我们关注的是“
备份
数据库
”。在
数据库
管理中,
备份
是...
C#
111,094
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章