function pRestoreDataBase(DataBaseName, BackupFileName : String) : Boolean;
    var
    TempTab : TADOQuery;
    begin
    TempTab := TADOQuery.Create(nil);
      if FileExists(BackupFileName)=false then
        begin
         Result:=false;
         exit;
        end;
     try
     TempTab.ConnectionString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master';
     TempTab.CommandTimeout:=120;
      TempTab.SQL.Add('USE master');
      TempTab.SQL.Add('alter database '+DataBaseName+' set offline WITH ROLLBACK IMMEDIATE');
      //TempTab.SQL.Add('exec  killspid  '+DataBaseName+'');
     TempTab.SQL.Add('RESTORE DATABASE '+DataBaseName+' FROM DISK = '''+BackupFileName+''' with recovery');
     TempTab.SQL.Add('alter database '+DataBaseName+' set online with rollback immediate');
        TempTab.ExecSQL;
      TempTab.Free;
      Result := True;
    except
    TempTab.Free;
    Result := False;
    end;
  end;
数据还原的时候程序向死掉一样,没有响应,不能达到还原的目的,望哪个大哥解答一下,分不是问题