try:use master
exec sp_dboption 'sanitation','dbo use only','true'

解决方案 »

  1.   

    还不行:create  proc  killspid  (@dbname  varchar(20))  
    as  
    begin  
    declare  @sql  nvarchar(500)  
    declare  @spid  int  
    set  @sql='declare  getspid  cursor  for    
    select  spid  from  sysprocesses  where  dbid=db_id('''+@dbname+''')'  
    exec  (@sql)  
    open  getspid  
    fetch  next  from  getspid  into  @spid  
    while  @@fetch_status  <  >-1  
    begin  
    exec('kill  '+@spid)  
    fetch  next  from  getspid  into  @spid  
    end  
    close  getspid  
    deallocate  getspid  
    end  --用法  
    use  master  
    exec  killspid  'sanitation'
      

  2.   

    我试了,只要有客户一打开sanitation这个数据库,上面的话就执行失败。
      

  3.   

    try:USE master 
    restore database 数据名 from disk=''c:=\test.bak'' with REPLACE