用ddl触发器,对drop_database进行回滚:
use master
gocreate trigger gyy_server  
on all server  
for DROP_DATABASE 
as  
  
rollback; 
go  

解决方案 »

  1.   

    1.设置权限,用户不要有删除数据库的权限
    2.使用Trigger当用户执行Drop的时候Rollback,但是针对懂得用户可以直接把你的Trigger禁用,还是可以删除的。
      

  2.   

    use master
    gocreate trigger gyy_server  
    on all server  
    for DROP_DATABASE 
    as  
      
    rollback; 
    go  
    --这样再次删除,就会报错
    drop database wcc
    /*
    消息 3609,级别 16,状态 2,第 1 行
    事务在触发器中结束。批处理已中止。*/
      

  3.   

    不授予登录名sysadmin角色,就没有分离数据库的权限.