📄 bkdata.asp
字号:
<%
server.scripttimeout=1000
'create table t_dbbak(
'dbbak_id int identity primary key,
'dbbak_filename vaRCHAR(100),
'dbbak_dbname VARCHAR(100),
'dbbak_status VARCHAR(10) DEFAULT '成功',
'dbbak_flag int default 1,
'dbbak_date datetime default getdate()
')
strSQLServerName = "127.0.0.1" '服务器名称或地址
strSQLDBUserName = "sa" '数据库帐号
strSQLDBPassword = "1111" '数据库密码,这个是我的,改成你自己的
strSQLDBName = "master" '数据库名称
Set connbk = Server.CreateObject("ADODB.Connection")
connbk.ConnectionTimeout = 10 '设置connection对象连接数据库的逾期时间
connbk.CommandTimeout = 20 '设置执行execute方法时间
connbk.CursorLocation = 3 '将记录存放在游览器端
connstr = "Provider=SQLOLEDB.1;Persist Security Info=False;Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & ";Password=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"
connbk.Open connstr
%>
<%if session("admin")="" then
response.Write "<script language='javascript'>alert('网络超时或您还没有登陆!');window.location.href='login.asp';</script>"
response.End
end if
if session("flag")>1 then
response.Write "<div align=center><font size=80 color=red><b>您没有此项目管理权限!</b></font></div>"
response.End
end if
%>
<%
set rs=server.createobject("adodb.recordset")
set rs1=server.createobject("adodb.recordset")
SelectedID=request.form("SelectedID")
'删除记录及实际文件
if SelectedID<>"" and request.form("mysubmit")<>"" then
set fs=server.CreateObject ("Scripting.FileSystemObject")
for i=1 to request.form("SelectedID").count
if rs.state=1 then rs.close
rs.open "SELECT dbbak_filename FROM t_dbbak WHERE dbbak_id="&request.form("SelectedID")(i),connbk,1,1
connbk.execute("DELETE t_dbbak WHERE dbbak_id="&request.form("SelectedID")(i))
dbFile=server.MapPath ("db/")&"\"&rs(0)
'删除相应的文件
if fs.FileExists(dbFile) then
fs.DeleteFile dbFile
end if
next
set fs=nothing
end if
page=Request("page")
if request("method")="delid" then
connbk.execute("DELETE FROM t_dbbak WHERE dbbak_id="&request("id"))
response.redirect "bkdata.asp?page="&page
end if
'恢复数据库
if request("method")="rec" then
filen=request("filen")
'comObject.sqlUpd("exec proKillProcess")
connbk.execute("restore database new from disk='"&server.MapPath ("db/")&"\"&filen&"'")
sql="INSERT INTO t_dbbak(dbbak_dbname,dbbak_filename,dbbak_status,dbbak_flag) VALUES('new','"&filen&"','成功',2)"
'else
' sql="INSERT INTO t_dbbak(dbbak_dbname,dbbak_filename,dbbak_status,dbbak_flag) VALUES('new','"&filen&"','失败',2)"
'end if
connbk.execute(sql)
response.redirect "bkdata.asp?page="&page
end if
'收缩数据文件
if request("method")="small" then
connbk.execute("use new;DBCC SHRINKFILE (new_Log)")
if rs.state=1 then rs.close
rs.Open "new.dbo.sp_helpfile shop_log",connbk,1,3
filesize=rs("size")
%>
<script language="javascript">
alert("目前的日志文件大小:<%=filesize%>");
history.back();
</script>
<%
response.end
end if
'备份数据库
if request("method")="bak" then
sDbname="new"&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&".dat"
connbk.execute("BACKUP DATABASE new to disk='"&server.MapPath ("db/")&"\"&sDbname&"'")
sql="INSERT INTO t_dbbak(dbbak_dbname,dbbak_filename,dbbak_status) VALUES('new','"&sDbname&"','成功')"
'else
' sql="INSERT INTO t_dbbak_"&CONST_DB_NAME&"(dbbak_dbname,dbbak_userid,dbbak_filename,dbbak_status) VALUES('"&CONST_DB_NAME&"','"&session("username")&"','"&RplStr(sDbname)&"','失败')"
'end if
connbk.execute(sql)
response.redirect "bkdata.asp?page="&page
end if
sql="SELECT dbbak_id,dbbak_dbname,dbbak_filename,dbbak_status,convert(varchar(16),dbbak_date ,120) dbbak_date FROM t_dbbak WHERE dbbak_dbname='new' AND dbbak_flag=1 ORDER BY dbbak_id DESC "
if page<>"" then
page=cint(page)
else
page=1
end if
pageSize=10
if rs.state=1 then rs.close
rs.pagesize=pageSize
rs.Open sql,connbk,1,3
Record=rs.recordcount
PageCount=rs.pagecount
if (PageCount<page) then
page=PageCount
response.redirect "bkdata.asp?page="&page
end if
if page<1 then page=1
if not rs.eof then rs.absolutepage=page
sReference=""
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>数据备份</title>
<link href="../css.css" rel="stylesheet" type="text/css">
<SCRIPT LANGUAGE="JavaScript">
<!--
function SelectaAll(){
for (var i=0;i<document.frm_sys.elements.length;i++)
{
var e=document.frm_sys.elements[i];
if (e.name!='allbox')
e.checked=document.frm_sys.allbox.checked;
}
}
//-->
function fixPosition(divname) {
divstyle = getDivStyle(divname);
positionerImgName = divname + 'Pos';
isPlacedUnder = false;
if (isPlacedUnder) {
setPosition(divstyle,positionerImgName,true);
} else {
setPosition(divstyle,positionerImgName)
}
}
function toggleDatePicker(eltName,formElt) {
var x = formElt.indexOf('.');
var formName = formElt.substring(0,x);
var formEltName = formElt.substring(x+1);
newCalendar(eltName,document.forms[formName].elements[formEltName]);
toggleVisible(eltName);
}
</SCRIPT>
<style type="text/css">
<!--
.style1 {
color: #000000;
font-weight: bold;
}
.style2 {color: #000000}
-->
</style>
</head>
<body leftmargin="0" topmargin="0">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<form name="frm_sys" method="post" action="bkdata.asp?page=<%=page%>&<%=sReference%>" onsubmit="return delconfirm();">
<tr>
<td><table width="100%" border="0" cellpadding="0" cellspacing="0" background="images/right_top2.gif">
<tr>
<td width="1%"> </td>
<td width="99%"><table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="30%" style="font-size:14px;color:#ffffff"> <span class="style1">数据备份</span> <a href="bkdata.asp?method=bak&page=<%=page%>">备份</a> <a href="bkdata.asp?method=small&page=<%=page%>">收缩日志文件</a></td>
<td width="70%" align="right"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="40"> </td>
<td width="85"> </td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td height="15" align="center"></td>
</tr>
<tr align="center"><td>
<table width="93%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>共 <font color="#DC8100"><%=record%></font> 条记录 共 <font color="#DC8100"><%=pagecount%></font>
页 第 <font color="#DC8100"><%=page%></font> 页</td>
<td align="right">[<%if page>1 then%><a href="?page=1&<%=sReference%>">首页</a><%else%>首页<%end if%> <%if page>1 then%><a href="?page=<%=page-1%>&<%=sReference%>">前一页</a><%else%>前一页<%end if%> <%if page<pagecount then%><a href="?page=<%=page+1%>&<%=sReference%>">下一页</a><%else%>下一页<%end if%> <%if page<pagecount then%><a href="?page=<%=pagecount%>&<%=sReference%>">尾页</a><%else%>尾页<%end if%>]</td>
</tr>
</table>
</td></tr>
<tr>
<td align="center"><TABLE bgColor=#9DB2D4 border=0 cellPadding=3 cellSpacing=1 width='90%' class=printtable>
<TBODY>
<tr align="center" bgColor=#C7D3E6>
<td width="6%" align=middle noWrap class=ttTable><font color="#253E66"><b>序号</b></font></td>
<td width="6%" align=middle noWrap class=ttTable><font color="#253E66"><b>选</b></font></td>
<td width="30%" align=middle noWrap class=ttTable><font color="#253E66"><b>备份文件名</b></font></td>
<td width="22%" align=middle noWrap class=ttTable><font color="#253E66"><b>备份时间</b></font></td>
<td width="10%" align=middle noWrap class=ttTable><font color="#253E66"><b>备份结果</b></font></td>
<td width="10%" align=middle noWrap class=ttTable><font color="#253E66"><b>恢复</b></font></td>
</tr>
<%
for i=1 to pagesize
if not rs.eof then
'dbbak_id,dbbak_dbname,dbbak_filename,dbbak_status
%>
<tr align="center" bgColor=#F0F3F8>
<td width="6%" bgcolor="#F0F3F8" class='td' ><%=i+1+(page - 1)*pagesize%></td>
<td width="6%" bgcolor="#F0F3F8" class='td'><input type="checkbox" name="SelectedID" value="<%=rs(0)%>"></td>
<input type="hidden" name="SelectedFile" value="<%=rs(2)%>">
<td width="30%" bgcolor="#F0F3F8" class='td'> <a href="<%="\adminn\db\"&rs(2)%>"><%=rs(2)%></a></td>
<td width="22%"> <%=rs(4)%></td>
<td width="10%" align="center"><%=rs(3)%></td>
<td width="10%" align="center"><a href="javascript:recv('<%=rs(2)%>','<%=page%>');">恢复</a></td>
</tr>
<%
sql="SELECT dbbak_id,dbbak_dbname,dbbak_filename,dbbak_status,convert(varchar(16),dbbak_date,120) dbbak_date FROM t_dbbak WHERE dbbak_dbname='new' AND dbbak_flag=2 AND dbbak_filename='"&rs(2)&"' ORDER BY dbbak_id DESC "
Record1=0
if rs1.state=1 then rs1.close
rs1.open sql,connbk,1,1
while not rs1.eof
%>
<tr align="center" bgColor=#F0F3F8>
<td width="30%" bgcolor="#F0F3F8" class='td' colspan="3" align="right"> <font color="red">恢复信息:</font> [<a href="bkdata.asp?method=delid&page=<%=page%>&id=<%=rs1(0)%>">删除</a>]</td>
<td width="22%"> <%=rs1(4)%></td>
<td width="10%" align="center"><%=rs1(3)%></td>
<td width="10%" align="center"> </td>
</tr>
<%
rs1.movenext
wend
rs.movenext
else
exit for
end if
next
%>
</TBODY>
</TABLE>
<table width="280" border="0" cellpadding="0" cellspacing="0" height="40" valign="center">
<tr align="right" >
<td align="center"><input type="checkbox" name="allbox" onclick="SelectaAll();">全选 <input type=Submit name=mysubmit value="批量删除" class="go-wenbenkuang"></td>
</tr>
</table>
<br>
<font color="red">(注:文件存放在服务器的"<%=server.mappath("\db")%>"目录下)</font>
</td>
</tr></form>
</table>
</body>
</html>
<%
set comObject=nothing
%>
<script language="javascript">
function recv(filen,page)
{
if(confirm("严重警告:真的要恢复该数据库文件吗?")){
window.location.href="bkdata.asp?method=rec&page="+page+"&filen="+filen;
}
}
function delconfirm()
{
var inum=0;
var smsg="你确定要删除吗?";
for (var i=0;i<document.frm_sys.elements.length;i++)
{
var e=document.frm_sys.elements[i];
if (e.name!='allbox')
{ if (e.checked) {inum=inum+1;}}
}
if (inum==0) {
alert("请选择待删除记录!");
return false;
}
else{
if(confirm(smsg))
return true;
else
return false;
}
}
</script>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -