asp+sql server2000还原数据库备份时,如何取得排他访问权

asuka37 2005-05-29 04:41:38
dim sql
sql="RESTORE database travel from disk='"&server.mappath("backup")&"\"&"backdb.dat"&"'"
con.Execute sql

前面还应该加些什么,敬请各位高手指导
...全文
629 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
asuka37 2005-06-07
  • 打赏
  • 举报
回复
sql="backup database travel to disk='"&server.mappath("backup")&"\"&"backdb.dat"&"' with DIFFERENTIAL"
con.Execute sql

第一次接触备份,不太清楚,上面是备份用的语句
zjcxc 元老 2005-06-07
  • 打赏
  • 举报
回复
你的备份文件不是完全备份生成的吧?
zjcxc 元老 2005-06-07
  • 打赏
  • 举报
回复
你那个是差异备份,不能直接还原的. 必须要有完全备份文件才能还原.
asuka37 2005-06-03
  • 打赏
  • 举报
回复
2楼的邹大哥帮帮忙啊~
asuka37 2005-05-31
  • 打赏
  • 举报
回复
Dim Con,Strcon
Set Con = Server.CreateObject("ADODB.Connection")
Strcon = "driver={SQL Server};"&"server=ASUKA;uid=sa;pwd=65012514;database=master"
Con.Open Strcon
.......
dim sql
sql="declare hcforeach cursor global for select 'kill '+rtrim(spid) from master.dbo.

sysprocesses where dbid=db_id('travel') exec sp_msforeach_worker '?' "
con.execute sql
sql="RESTORE database travel from disk='"&server.mappath("backup")&"\"&"

backdb.dat"&"'"
con.Execute sql

出现这个错误
[Microsoft][ODBC SQL Server Driver][SQL Server]先前的还原操作未指定 WITH NORECOVERY 或 WITH STANDBY。请在除最后步骤之外的所有其它步骤中指定 WITH NORECOVERY 或 WITH STANDBY 后,重新启动该还原序列。

请帮忙指正下
rfq 2005-05-30
  • 打赏
  • 举报
回复
学习
天地客人 2005-05-30
  • 打赏
  • 举报
回复
跟楼主占光,又学到一点!谢谢邹大哥!
zjcxc 元老 2005-05-30
  • 打赏
  • 举报
回复
注意我写的步骤了么?

你没做第2步啊
yifan600 2005-05-30
  • 打赏
  • 举报
回复
sql='declare hcforeach cursor global for select ''kill' '+rtrim(spid) from master.dbo.

sysprocesses where dbid=db_id(''travel'') exec sp_msforeach_worker ''?''


改为这样你试一下。
asuka37 2005-05-30
  • 打赏
  • 举报
回复
dim sql
sql="declare hcforeach cursor global for select 'kill '+rtrim(spid) from master.dbo.

sysprocesses where dbid=db_id('travel') exec sp_msforeach_worker '?' "
sql=sql+"RESTORE database travel from disk='"&server.mappath("backup")&"\"&"
backdb.dat"&"'"
con.Execute sql

该成这样对么
出现如下错误
[Microsoft][ODBC SQL Server Driver][SQL Server]不能用 KILL 来取消您自己的进程。
原来的错误如下
[Microsoft][ODBC SQL Server Driver][SQL Server]因为数据库正在使用,所以未能获得对数据库的排它访问权。
请2楼的能不能详细说明一下在asp中如何操作,因为我数据库刚入门,谢谢

gingerkang 2005-05-29
  • 打赏
  • 举报
回复
作个记号
KeNan_Net 2005-05-29
  • 打赏
  • 举报
回复
关注!
zjcxc 元老 2005-05-29
  • 打赏
  • 举报
回复
恢复语句本身没什么问题. 注意以下几点:
1. 备份文件要求在sql server服务器上.
2. 还原数据库前,con的连接应该是连接到master数据库.
3. 如果不能保证所有连接数据库travel的用户都已经断开,则在执行上述还原语句前,使用下面的语句断开所有用户对数据库travel的连接.
declare hcforeach cursor global for select 'kill '+rtrim(spid) from master.dbo.sysprocesses where dbid=db_id('travel') exec sp_msforeach_worker '?'

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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