数据库恢复,该怎么解决
数据库恢复
procedure Tfbackstore.BitBtn2Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
with data.backstorequery do
begin
try
data.connection.Connected:=false;
DisableControls;
Close;
SQL.Clear;
Parameters.Clear;
SQL.Add( 'RESTORE DATABASE projectmanage from disk = ' ' ' + OpenDialog1.FileName + ' ' ' WITH RESTART ');
ExecSQL;
ShowMessage( '恢复成功! ');
data.connection.Connected:=true;
Close;
EnableControls;
except
ShowMessage( '恢复失败! ');
exit;
end;
end;
end;
end;
数据库正在使用,没有获得排它访问权!怎么解决,大家帮帮忙
很急,在线等
------解决方案--------------------
procedure TE_databaseF.Button3Click(Sender: TObject);
var conn: tadoconnection;
ado: tadocommand;
a: integer;
begin
if Application.MessageBox( '数据库恢复功能只能在服务器上执行,请先确认计算机是要恢复的服务器,并且现在没有任何程序正在使用数据库,是否现在进行恢复? ', '提示 ', mb_yesno + mb_iconquestion) = idno then
abort
else
begin
if RzOpenDialog1.Execute then
begin
conn := tadoconnection.Create(nil);
conn.LoginPrompt := false;
conn.Connected := false;
conn.ConnectionString := 'Provider=SQLOLEDB.1;User ID= ' + datamodule1.user + ';Password=;Data Source= ' + Datamodule1.server + ' ';
datamodule1.ADOConnection1.Connected := false;
conn.Connected := true;
ado := tadocommand.Create(nil);
ado.Connection := conn;
ado.CommandTimeout := 300;
ado.CommandText := 'use master Restore database Wlzls from disk= ' ' ' + RzOpenDialog1.FileName + ' ' ' ';
try
procedure Tfbackstore.BitBtn2Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
with data.backstorequery do
begin
try
data.connection.Connected:=false;
DisableControls;
Close;
SQL.Clear;
Parameters.Clear;
SQL.Add( 'RESTORE DATABASE projectmanage from disk = ' ' ' + OpenDialog1.FileName + ' ' ' WITH RESTART ');
ExecSQL;
ShowMessage( '恢复成功! ');
data.connection.Connected:=true;
Close;
EnableControls;
except
ShowMessage( '恢复失败! ');
exit;
end;
end;
end;
end;
数据库正在使用,没有获得排它访问权!怎么解决,大家帮帮忙
很急,在线等
------解决方案--------------------
procedure TE_databaseF.Button3Click(Sender: TObject);
var conn: tadoconnection;
ado: tadocommand;
a: integer;
begin
if Application.MessageBox( '数据库恢复功能只能在服务器上执行,请先确认计算机是要恢复的服务器,并且现在没有任何程序正在使用数据库,是否现在进行恢复? ', '提示 ', mb_yesno + mb_iconquestion) = idno then
abort
else
begin
if RzOpenDialog1.Execute then
begin
conn := tadoconnection.Create(nil);
conn.LoginPrompt := false;
conn.Connected := false;
conn.ConnectionString := 'Provider=SQLOLEDB.1;User ID= ' + datamodule1.user + ';Password=;Data Source= ' + Datamodule1.server + ' ';
datamodule1.ADOConnection1.Connected := false;
conn.Connected := true;
ado := tadocommand.Create(nil);
ado.Connection := conn;
ado.CommandTimeout := 300;
ado.CommandText := 'use master Restore database Wlzls from disk= ' ' ' + RzOpenDialog1.FileName + ' ' ' ';
try