在应用程序中添加新功能,数据还原命令如下:use master alter database databasename set offline WITH ROLLBACK IMMEDIATE
restore database databasename from disk='D\aaa.dat' with REPLACE'
alter database database set online with rollback immediate执行无法完成
用同一备份文件在SQL SERVER2000企业管理器中做还原,没有问题。
大家有谁遇到过哦这样的问题,我们共同探讨一下。

解决方案 »

  1.   

    SQL 命令打错了,应该是:use master alter database databasename set offline WITH ROLLBACK IMMEDIATE
    restore database databasename from disk='D\aaa.dat' with REPLACE
    alter database databasename set online with rollback immediatedatabasename为数据库名称
      

  2.   

    大家没有遇到过这样的问题吗?
    SQL语句放入数据库查询分析器中执行没有任何,可是放到程序中就不可以。
      

  3.   

    程序没有释放数据库,你kill掉连接就行了
      

  4.   

    SQL语句的第一句就是关闭数据库呀,还怎么kill掉连接。
      

  5.   

    程序里连接的时候不要用你还原的数据库,直接连master
      

  6.   

    就是连接的master数据库呀。没有连接原来的数据库。
      

  7.   

    在程序中还原不成功?是不是你的程序已经是连接此数据库了,如果是,那肯定不行的,还原要求断开所有的连接才行
    你可以把此还原的功能独立出来做成exe,不要集成在程序中,还原的时候关掉所有连接关掉所有连接:
    select spid from sysprocesses where dbid=db_id('数据库名')
    得到所有的连接列表spid(都是数字),然后逐个执行kill spid
      

  8.   

    是在程序中单独的一个功能,把这个功能移植到其它程序都可以。
    另外SQL语句第一句就是关闭数据库的:‘alter database databasename set offline WITH ROLLBACK IMMEDIATE’。
    先连接MASTER数据,然后在关闭原来连接的数据库,在其它程序中都没有出现问题。
      

  9.   

    sql服务器端和客户端还原都是可以的。
    我这边遇到个2000和2008兼容性的问题,不知道大家有没有遇到,
    delphi备份2000的数据库,还原2000的没问题,但是还原成2008的数据库,还原不了,这个如何解决呢?
      

  10.   

    可能是 数据库备份 有问题吧,
    或者是高版本的MSSQL备份不能恢复到低版本的MSSQL数据库中的
      

  11.   

    怎么个情况,MSSQL数据库都是向下兼容的
    如MSSQL2008兼容MSSQL2005+MSSQL2000
    而MSSQL2005兼容MSSQL2000,不兼容MSSQL2008数据库