我要恢复一个数据库,单机版的,我拷贝两个文件进去,一个是日志,一个是数据文件。但是
显示的问题是这两个文件正在被其他文件调用,该如何做。最好写几句代码!说思想也可以。要关闭
什么还是其他的什么办法!谢谢!(windows程序)

解决方案 »

  1.   

    先取得你的数据苦的进程ID,语句如下:
    select @spid=spid from master..sysprocesses where dbid=db_id('你的数据库名称')
    然后杀掉你的数据库进程
    kill @spid
      

  2.   


    先分离数据库
    EXEC sp_detach_db @dbname = N'aa'
    再附加数据库
    EXEC sp_attach_db @dbname = N'aa',
         @filename1 = N'd:\data\aa.MDF',
         @filename2 = N'd:\\data\aa.LDF'
      

  3.   

    是什么数据库?文件型、分布存储型、结构型等都是不一样的。
    如果是sqlserver之类的简单数据库,可以用分离数据库。
    如果是DB2/ORACLE之类的,可以调用类似force application all之类的指令
      

  4.   

    多谢上面几位朋友的回复,那天问完问题后,可能是csdn改版,我后来一直没上
    得来。呵呵。我用的数据库是sql2005 什么sqlexpress。名字不知道有没有说对,
    是个单机版的东西。
      

  5.   

    如果直接打开那个数据库并恢复它好像不行
    试试看登陆其他数据库如master或northwind之类,然后恢复你要恢复的数据库
      

  6.   

    如果是sqlserver之类的简单数据库,可以用分离数据库。