以下一条还原数据库的sql语句
restore database abc from disk='c:\abs\acd.dat'在查询分析器中能够在2秒内运行结束,成功地还原数据库,但是我在delphi中使用adoquery来运行上述语句之后,十秒钟后再在adoquery中使用use abc却提示“此数据库处于还原操作途中”,并且在企业管理其中看见abc数据库旁边显示(正在装载),此时数据库无法使用,是何道理?

解决方案 »

  1.   

    你再去SQL Server 2000联机帮助中看看有关restore参数说明,应该能找到答案的,
    你 BackUp 是如何进行的,带了参数没有呢,是你BackUp的时候有问题吧
      

  2.   

    好象是要断开所有该数据库的连接之后才能用restore恢复的,先断开所有的连接试试
      

  3.   

    你use的时候有没有关闭原来打开的数据库链接?
      

  4.   

    1,确认关闭你的程序中所有与这个数据的连接, ADOQUEYR,ADOCONNECTION等;
    2,必须连接MASTER数据库,不能连接你要恢复的数据库;或使用USE MASTER语句;
    3,执行你的语句
      

  5.   

    restore database abc之前,原本abc数据库就不存在,哪有什么连接啊?
      

  6.   

    那也得把ADOQuery连接到数据库,设置连接到master数据库。
      

  7.   

    不行啊!我的adoconnection1的默认数据库是master,adoquery是连在adoconnection1上面,原本没有abc这个数据库,不管加不加use master,只要通过adoquery执行了restore database abc from disk='c:\abs\acd.dat'这条语句,那么不管等多少时间(>20秒),企业管理器中abc数据库为黑白图标,旁边都会显示(正在装载),而在查询分析器中执行restore database abc from disk='c:\abs\acd.dat'之后只要2秒之后就能在企业管理器里看到一个完成能用的abc数据库了,为什么啊?