高分求才,用ASP如何实现这样的SQL数据库备份

zhlym 2003-10-09 02:12:08
SQL7.0里有SHOP这个数据库,平时打开"企业管理器-->SHOP数据库-->右键-->所有任务-->备份(或返原)数据库"这个过程便可对数据库实现备份或返原操作.现在这个过程用ASP语句实现(要百分百跟手功操作备份数据库结果一样),如何写?请各高手帮帮忙!
...全文
49 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhlym 2004-01-01
  • 打赏
  • 举报
回复
问题解决了一起结贴!
wshzhi 2003-12-30
  • 打赏
  • 举报
回复
up
wuzi 2003-12-30
  • 打赏
  • 举报
回复
不需要说明了吧!很简单!
wuzi 2003-12-30
  • 打赏
  • 举报
回复
Dim objSQLServer
Dim objRestore
Set objSQLServer = Server.CreateObject("SQLDMO.SQLServer")
objSQLServer.Connect dbserver,dbuser,dbpass
Set objRestore = Server.CreateObject("SQLDMO.Restore")
objRestore.Database = dbdatabase
objRestore.Files = dbpath + dbfile

On Error Resume Next
objRestore.SQLRestore(objSQLServer)
if Err<>0 then
strErr = Err.Description
response.write "<br><br><div align=center>"&strErr&"</div><br><br>"
else
response.write "<br><br><div align=center>数据库恢复成功!</div><br><br>"
end if
wuzi 2003-12-30
  • 打赏
  • 举报
回复
Dim objSQLServer
Dim objBackup
Set objSQLServer = Server.CreateObject("SQLDMO.SQLServer")
objSQLServer.Connect [dbserver],[dbuser],[dbpass]
Set objBackup = Server.CreateObject("SQLDMO.Backup")
objBackup.Database = [dbdatabase]
objBackup.Files = [dbpath] + [dbfile]
objBackup.MediaDescription = "Back of feeling"
On Error Resume Next
objBackup.SQLBackup(objSQLServer)
if Err<>0 then
strErr = Err.Description
response.write "<br><br><div align=center>"&strErr&"</div><br><br>"
else
response.write "<br><br><div align=center>数据库备份成功!请勿重复备份!</div><br><br>"
end if
zhlym 2003-10-19
  • 打赏
  • 举报
回复
高手请帮帮
zhlym 2003-10-16
  • 打赏
  • 举报
回复
分别采用wauo(泪尽北枝花) 和tigerwen01(小虎)(编程艺术化)和备份代码,为什么备份出来的结果跟本就和手工操作数据库备份怎么不一样的???
我试了,我手工备份有5到6M,用那代码备份才2点几M,你说对吗?
还有手工操作把ASP备份生成的文件还原进数据库也还原不了??
以上请各高手指点!
gzcsdn 2003-10-16
  • 打赏
  • 举报
回复
我不懂,但帮顶一下!
zhlym 2003-10-16
  • 打赏
  • 举报
回复
谁顶一下??
解释一下>??
zhlym 2003-10-16
  • 打赏
  • 举报
回复
谁顶一下??
gmlxf 2003-10-13
  • 打赏
  • 举报
回复
在asp中
<%conn.execute("backup database news to disk='c:/a.bak'")%>
就是这样的简单,不需要存储过程了。
zhlym 2003-10-09
  • 打赏
  • 举报
回复
头痛,有待慢慢分析
gmlxf 2003-10-09
  • 打赏
  • 举报
回复
关于backup的用法格式,lovehwq21(winson)已经说了

简单如下:
backup database news to disk='c:/a.bak'

恢复
use master
restore database news from disk='c:/a.bak'

gmlxf 2003-10-09
  • 打赏
  • 举报
回复
查询分析器执行(以news为例子):
CREATE procedure BackupDatabase (@device varchar(1)) WITH ENCRYPTION
as
begin
--压缩数据库
DBCC shrinkdatabase (news, 0)
--
DECLARE @filename varchar(100)
set @filename=@device + ':\news.bak'
--删除旧的文件
if EXISTS(select * from master.dbo.[sysdevices] where name='news_backup')
begin
EXEC sp_dropdevice 'news_backup','DELFILE'
end
--建立新的备份文件
EXEC sp_addumpdevice 'disk', 'news_backup',@filename
--开始备份
BACKUP DATABASE news TO news_backup WITH init
end
GO

然后在asp中
<%
Conn.execute("EXEC BackupDatabase @device='C'")
%>

zhlym 2003-10-09
  • 打赏
  • 举报
回复
to tigerwen01(小虎)(编程艺术化)

你这种写法其实我曾用过,备份出来的结果跟本就和手工操作数据库备份怎么不一样的???
我试了,我手工备份有5到6M,用那代码备份才2点几M,你说对吗?
mancatfg 2003-10-09
  • 打赏
  • 举报
回复
在程序里用backup命令来做
tigerwen01 2003-10-09
  • 打赏
  • 举报
回复
给你代码。记住,测试成功给满分,否则一分不要。
asp在线备份sql server数据库:
1、备份
<%
SQL="backup database 数据库名 to disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'"
set cnn=Server.createobject("adodb.connection")
cnn.open "driver={SQL Server};Server=服务器名;uid=sa;pwd="
cnn.execute SQL
on error resume next
if err<>0 then
response.write "错误:"&err.Descripting
else
response.write "数据备份成功!"
end if
%>

2、恢复
<%
SQL="Restore database 数据库名 from disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'"
set cnn=Server.createobject("adodb.connection")
cnn.open "driver={SQL Server};Server=服务器名;uid=sa;pwd="
cnn.execute SQL
on error resume next
if err<>0 then
response.write "错误:"&err.Descripting
else
response.write "数据恢复成功!"
end if
%>

注:以上语句是把数据备份到磁盘的backup目录下,文件名为backuptext.dat。

zhlym 2003-10-09
  • 打赏
  • 举报
回复
说真的lovehwq21(winson)的我看到过,可看不懂,

wauo(泪尽北枝花) 的代码其实我就试过了,结果和手工操作数据库备份怎么不一样的???

wauo 2003-10-09
  • 打赏
  • 举报
回复
sql = "backup database CallCenter to disk='backuptext111.dat'"'备份
sql = "RESTORE database CallCenter from disk='backuptext111.dat'"'回复
set cnn=server.CreateObject ("adodb.connection")
cnn.Open "provider=sqloledb.1;data source=zsh;Uid=sa;Pwd="
cnn.Execute sql
列:保存到“c:\back"
sql = "backup database CallCenter to disk='c:\back.dat'"
set cnn=server.CreateObject ("adodb.connection")
cnn.Open "provider=sqloledb.1;data source=zsh;Uid=sa;Pwd="'这里用的是我的数据库连接,你用时写自己的。
cnn.Execute sql

备份数据库,并创建数据库的复本
BACKUP DATABASE CallCenter
TO DISK = 'c:\CallCenter.bak'
RESTORE FILELISTONLY
FROM DISK = 'c:\CallCenter.bak'
RESTORE DATABASE TestDB1
FROM DISK = 'c:\CallCenter.bak'
WITH MOVE 'CallCenter_Data' TO 'c:\test\CallCenter_Data.mdf',
MOVE 'CallCenter_log' TO 'c:\test\CallCenter_log.ldf'

备份
backup database

恢复
restore database
restore log
zhxhjj 2003-10-09
  • 打赏
  • 举报
回复
gz
加载更多回复(4)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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