上次已经发了一帖但是没有好的答复,最好详细些,谢谢!
解决方案 »
- 请教如何在CIS中调用IE的cookies
- 大侠帮忙!如何制作圆形panel!
- 如何给一个SpeedButton按扭绘一个带色的边框.
- 如何让combobox组件不响应鼠标滚动??????急!!!!
- 关于数据库中表复制的问题,高手请进!!!
- socket如何通过代理服务器通讯,在线等
- 装了一个Delphi7 Enterprise,结果有些部件用不了,怎么回事??郁闷!!!
- TServerSocket中,onclientread的时候,是必须一次把数据全部读入吗?
- Activexform控件问题
- Delphi7 读取SQl某字段数据,怎样截取???
- 请问哪一位有Turbo pascal2.0,我在做些研究,急用2.0版,其他版没有我要的功能,谢谢!
- DELPHI 程序高手更好工作机会
2 用SP_WHO或者SELECT * FROM MASTER..SYSPROCESSES察看服务器活动进程,将连接在你要恢复的数据库上的进程用KILL PROCESS杀掉3 scm 实用工具(服务控制管理器)可以创建、修改、启动、停止或暂停在 Microsoft Windows NT® 和 Microsoft Windows® 2000 下运行的任何 Microsoft® SQL Server™ 2000 服务。在 Microsoft Windows 98 下,scm 实用工具可以启动、停止或暂停等效的 SQL Server 应用程序。参见SQL SERVER帮助SCM -ACTION X//X=1启动 2重新启动 6停止
希望能有借鉴作用:
// 数据备份
procedure TBackupdata.Button1Click(Sender: TObject);
var
bakpath:string;
begin
bakpath:=edit1.text ; //备份的路径
with query1 do
begin
close;
sql.clear;
sql.add('exec Backupcar :bakpath');
params[0].asstring:=bakpath;
execsql;
end;
showmessage('数据备份成功!');
end;
//数据恢复、导入
procedure Trestoredata.BitBtn2Click(Sender: TObject);
var
datapath:string;
begin
datapath:=edit1.text ;
with query1 do
begin
close;
sql.clear;
sql.add('exec restorecar :datapath');
params[0].asstring:=datapath;
execsql;
end;
showmessage('数据恢复成功!');
end;以上是基于SQL Server做的一个小程序
出现你说的那种问题,数据还在使用,说明还有用户连接在这个数据库上
按以下步骤来进行:
1 不要将程序连接到你要恢复的数据库上,你可以用use master
2 你可以用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
等列出现在正在使用的进程/用户
3 调用kill proccess干掉他们(这样可以确保数据库不在使用中)
4 然后再进行恢复
sqlservr [-sinstance_name] [-c] [-dmaster_path] [-f]
[-eerror_log_path] [-lmaster_log_path] [-m]
[-n] [-Ttrace#] [-v] [-x] [-g number] [-O] [-y number]