use master
gorestore database Northwind from disk = 'c:\backup\Northwind.bak'
gouse northwind

解决方案 »

  1.   

    借宝地一问
    我写了个恢复数据库的存储过程,放在我的数据库jf中。
    我每次执行这个存储过程,要恢复jf的时候,它总跟我说'因为数据库正在使用,所以未能获得对数据库的排它访问权。'
    该怎么解决?谢谢。
      

  2.   

    恢复数据库时不能打开该数据库。
    你可以先 use master 再恢复。
    1:
    use master
    restore database 数据库名 from disk = 'c:\aa.bak'
    2:
    可用如下方式关闭use  master 
    go
    create  proc  killspid  (@dbname  varchar(20))  
    as  
    begin  
    declare  @sql  nvarchar(500),@temp varchar(1000)
    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 =0
    begin  
      set @temp='kill  '+rtrim(@spid)
      exec(@temp)
    fetch  next  from  getspid  into  @spid  
    end  
    close  getspid  
    deallocate  getspid  
    end  --用法  
    use  master  
    exec  killspid  '数据库名'
    restore ....
      

  3.   

    问题解决了,但为什么use再restore就不行。
    而user master后再restore就行了呢,这是为什么?
    我的QQ是99519。
      

  4.   

    USE
    将数据库上下文更改为指定数据库。语法
    USE { database }参数
    数据库是用户上下文要切换到的数据库的名称。数据库名称必须符合标识符的规则。