SQl语句是如下所示:
USE master
RESTORE DATABASE LDRoadWeatherInfo FROM MyFirstDatabase_bak WITH REPLACE错误是:
消息3101,级别16,状态1,第8 行
因为数据库正在使用,所以无法获得对数据库的独占访问权。
消息3013,级别16,状态1,第8 行
RESTORE DATABASE 正在异常终止。

解决方案 »

  1.   

    最简单的办法,停止sql服务,回复后在开启
      

  2.   

    LDRoadWeatherInfo
    看看是否有连接(包含你目前的连接)是否连接着这个数据库.
      

  3.   

    USE master
    GO
    ALTER DATABASE LDRoadWeatherInfo SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
    GORESTORE DATABASE LDRoadWeatherInfo FROM MyFirstDatabase_bak WITH REPLACE;
      

  4.   

    USE master
    GO
    --将数据库切换到单用户模式,并且中止所有现在连接此数据库的连接.
    --但中止这些连接时,需要回滚它们的事务.所以可能需要一点时间.
    ALTER DATABASE LDRoadWeatherInfo SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
    GO
    RESTORE DATABASE LDRoadWeatherInfo FROM MyFirstDatabase_bak WITH REPLACE;
      

  5.   

    2000好像没这个选项..
    那这样做.DECLARE @kill_spid varchar(8000);
    SET @kill_spid = '';SELECT
       @kill_spid = @kill_spid + 'kill ' + RTRIM(spid) + ';' + CHAR(13)+CHAR(10)
    FROM master.dbo.sysprocesses
    WHERE dbid = DB_ID('LDRoadWeatherInfo');EXEC(@kill_spid);GORESTORE DATABASE LDRoadWeatherInfo FROM MyFirstDatabase_bak WITH REPLACE;
      

  6.   

    加个WITH FORMAT选项.BACKUP DATABASE LDRoadWeatherInfo TO MyFirstDatabase_bak WITH FORMAT;
      

  7.   

    你用的SQL 2000的话,用企业管理器备份的时候,常规选项下面有个覆盖选项,
    你选择覆盖已经存在的媒体,
    如果你用的SQL 2005的话,用Manguagement studi备份的时候,设置选项有个覆盖媒体选项,
    选择覆盖.
    就可以了.