with ADOStoredProcBak do
begin
Close;
try
try
Connection := ADOConnectionMaster;
ProcedureName := 'gp_BackupRestoreDb;1';
Parameters[1].Value := strBakFileName;
Parameters[2].Value := IntFlag;
Parameters[3].Value := strDbName;
ExecProc;
except
on E: Exception do
begin
Alert('数据库操作失败' + #13#10 + e.Message);
Exit;
end;
end;
finally
Close;
end;
end;我想在大家都使用这个数据库的情况下,恢复这个数据库,怎么样才能获得这个
数据库的独占权?
有代码说明最好!
begin
Close;
try
try
Connection := ADOConnectionMaster;
ProcedureName := 'gp_BackupRestoreDb;1';
Parameters[1].Value := strBakFileName;
Parameters[2].Value := IntFlag;
Parameters[3].Value := strDbName;
ExecProc;
except
on E: Exception do
begin
Alert('数据库操作失败' + #13#10 + e.Message);
Exit;
end;
end;
finally
Close;
end;
end;我想在大家都使用这个数据库的情况下,恢复这个数据库,怎么样才能获得这个
数据库的独占权?
有代码说明最好!
这样的数据库还有什么价值呢!
如:a用户正在访问数据库,得到数据集A
而你数据库管理员,恢复数据了
b用户这个时候访问数据库,a和b得到的数据不一致拉
这句话是矛盾的。
1,先执行execute sp_who找出当前用户和进程的信息
2,然后再 kill + query1.fieldbyname('spid').asstring终止进程
3, 使用restore Database命令恢复。
注:数据库是使用Backup Database备分的
以上命令均是SQL语句,具体的看帮助。
这样怎么可以?如果其他用户编辑了数据,或者录入了一大批数据,你把人家断掉,人家不找你麻烦?好容易输入的数据不能保存(kill各用户连接),你觉得可以吗?
一切以人为本。
数据库都恢复了,别人录入的还意义吗?