在作数据库恢复时出现下列情况,请帮忙
程序如下:
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('restore database lm from disk='''+‘e:\aa.mdf’+'''');
adoquery1.ExecSQL;
运行后出现提示:‘因为数据库正在使用,所以未能获得对数据库的排它访问权’
请问是何原因?如何处理?
注释如下:e盘下绝对有aa.mdf数据库文件
数据库是sql sever 2000;
程序如下:
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('restore database lm from disk='''+‘e:\aa.mdf’+'''');
adoquery1.ExecSQL;
运行后出现提示:‘因为数据库正在使用,所以未能获得对数据库的排它访问权’
请问是何原因?如何处理?
注释如下:e盘下绝对有aa.mdf数据库文件
数据库是sql sever 2000;
解决方案 »
- DLL中打开一个新的adoquery,原来已经打开的adoquery就会关闭,怎么解决啊?
- 如何使用timer 让程序每隔几秒钟就查询数据库一次?
- 只因为疑惑,散分!?
- 我用 installshield 次次不成功
- FastReport动态设置Memo数据的问题?
- 关于自动生成唯一性ID的问题
- 高难问题:COM+的大系统架构问题;
- 如何把DBGrid中的字段名转化成中文?
- 时间日期型如何在SQL中显示时间?
- 如何动态更改Query的Databasename属性
- 如何在word文档中显示数据库中的图象字段的内容?高手请进!在线等待!
- 智能手机上的应用程序一般用什么语言写了,还有就是智能手机一般用什么什么操作系统了
str1:='restore DATABASE kmschedule from disk= ''c:\kmschedule.bak'' WITH replace'; //恢复
adoquery1.Close; adoquery1.SQL.Clear;
adoquery1.SQL.Add(str);
adoquery1.Prepared;
adoquery1.ExecSQL;
你需要
1 用sp_who或者
select dbname = case
when dbid = 0 then null
when dbid <> 0 then db_name(dbid)
end, loginame from master..sysprocesses where hostname is not null
group by dbid,loginame
等察看有谁在使用数据库
2 用kill process终止
3 再进行数据库恢复--------------------------------------
看见了么,
那支蛾子,
正飞向太阳,
那就是我!
--------------------------------------
你需要
1 用sp_who或者
select dbname = case
when dbid = 0 then null
when dbid <> 0 then db_name(dbid)
end, loginame from master..sysprocesses where hostname is not null
group by dbid,loginame
等察看有谁在使用数据库
2 用kill process终止
3 再进行数据库恢复
在程序中调用该过程就行了
烦你帮忙写详细一些
我还很基础的,你不要过高的估计了我的实力
谢谢!!
2。放一個ADOADOQUERY1設置connect為ADOCONNECT2。
3﹑adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('restore database lm from disk=''e:\aa'' with replace');
adoquery1.ExecSQL;
其中﹕aa 為你的數據庫備份。(不是你的數據庫文件)