回 帖 发 新 帖 刷新版面

主题:sql server数据库恢复,急!

try
      ADOCommand1:=TADOCommand.Create(nil);
      ADOCommand1.Connection:=FRM_MAIN.FmainADOConnection;
      ADOCommand1.CommandText:='ALTER DATABASE RedStar SET OFFLINE WITH ROLLBACK IMMEDIATE';
      ADOCommand1.Execute;
      ADOCommand1.CommandText:='RESTORE DATABASE RedStar FROM DISK = '''+reportconfig.Restore_Path+'''';
      ADOCommand1.Execute;
      MessageBox(0,'数据库恢复成功!','仓库管理系统',MB_OK);
    finally
      ADOCommand1.CommandText:='ALTER DATABASE RedStar SET ONLINE WITH ROLLBACK IMMEDIATE';
      ADOCommand1.Execute;
      ADOCommand1.Free;
    end;
提示错误:用户必须在master数据库中

我这样写恢复语句对吗,如果不对请各位高手指点

回复列表 (共2个回复)

沙发

ADOCommand1.CommandText:='use master  ALTER DATABASE RedStar SET ONLINE WITH ROLLBACK IMMEDIATE'

在每个alter前面加上 use master  看看可以吗?

板凳

这样就提示有语法错误了呀!

我来回复

您尚未登录,请登录后再回复。点此登录或注册