关于Drop 和 Restore 数据库的。Drop:
if exists(select * from sysdatabases where name = 'a') drop database aRestore:
restore database a from disk = 'c:\a.bak' 
with 
move 'a_data' to 'D:\a_data.mdf' ,
move 'a_log'  to 'D:\a_log.ldf', replace这两段sql在没有用户使用数据库的时候正常工作,但是如果有用户在使用就会失败。
我现在要的是无论是否用户在使用,都强制Drop 或 Restore. 我需要能够正确工作的sql。我在线等待大家的帮助。谢谢!

解决方案 »

  1.   

    --参考http://community.csdn.net/Expert/topic/5277/5277125.xml?temp=1.531619E-02
      

  2.   

    alter   database   [数据库名]   set   offline   with   rollback   after   10
      

  3.   

    还是有问题,数据库是被删除了,但是他的MDF和LDF文件并没有被删掉。
      

  4.   

    drop database a 后MDF和LDF文件还在?
      

  5.   

    删除后又还原MDF和LDF文件当然在啦
      

  6.   

    恩,我并没有还原,确实还在。
    现在问题搞定了,我用了你给我的连接里面一段kill user的代码,然后再drop。
    谢谢你了!
      

  7.   

    嗯,确实还在,我又试了次。我随手建了个asdf数据库alter database asdf set offline with rollback after 1
    drop database asdf
    后企业管理器里面已经没有asdf了,但是asdf_Data.MDF和asdf_Log.LDF还在。如果这个时候在新建asdf数据库就会报错。
    如果用kill用户的方法,mdf和ldf就会被删除,但是企业管理器里面还能看见asdf,重启管理器就看不见了。
    呵呵,有点奇怪。