我是用下面的语句删除库的
alter database dbtest set offline with rollback after 10
drop database dbtest数据库是删除了,但是为什么对应的数据文件没有被删除呢!
如果我手工到企业管理器删除的,数据文件是可以被删除的。谢谢!

解决方案 »

  1.   

    不执行第一句,直接执行:use master
    godrop database dbtest
    go
      

  2.   

    OFFLINE | ONLINE 
    控制数据库是联机还是脱机。我估计脱机状态可能与数据库文件无瓜葛了吧,所以删除,不影响到文件
      

  3.   

    执行第一句之后数据库就没在使用当中了,那数据文件就与服务器没关联了,就删除不掉!
    应该:
    use master
    go
    drop database dbtest
    go
      

  4.   

    --以删除数据库'DBTest'为例
    use master
    godeclare tb cursor local for
    select 'kill '+rtrim(spid) from sysprocesses
    where dbid=db_id('DBTest')
    open tb
    declare @s varchar(100)
    fetch tb into @s
    while @@fetch_status=0
    begin
      exec(@s)
      fetch tb into @s
    end
    close tb
    deallocate tb
    godrop database DBTest
    go  
      

  5.   

    直接drop就ok了,如果提示有进程在使用,kill掉引数据库对应的进程即可!