none
SQL Server 2008 R2 配置数据库镜像时报错 RRS feed

  • 问题

  • 我这里有2台sql server2008 R2 配置的数据库镜像架构,一直运行稳定。

    最近因为镜像端磁盘空间满了,有几个数据库镜像状态变成了“挂起”,我对这几个数据库的LDF进行了收缩释放空间后,发现有一个数据库ws_cntent镜像状态没法恢复,然后就删除了镜像端的数据库,打算重新配置。

    重新配置时方法简述:

    1、完整备份ws_cntent数据库和日志到指定bak文件。

    2、将bak文件通过网络复制到镜像服务器。

    3、在镜像服务器手动创建数据库ws_cntent,使用bak文件对其进行还原,勾选“覆盖数据库”和“不对数据库做任何操作”两个选项。

    然后报如下错误:

    请问这个要如何解决,(我在两个服务器上新建了个空库,进行了数据库镜像配置测试,测试没问题,只有这个库无法还原。)

    =============================

    标题: Microsoft SQL Server Management Studio
    ------------------------------

    还原 对于 服务器“SPSQLM”失败。  (Microsoft.SqlServer.SmoExtended)

    有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1539+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=还原+Server&LinkId=20476

    ------------------------------
    其他信息:

    System.Data.SqlClient.SqlError: WS_Cntent_log_2(3)和 'WS_Cntent_log'(2)要求使用文件 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WS_Cntent.ldf'。WITH MOVE 子句可用于重新定位一个或多个文件。 (Microsoft.SqlServer.Smo)

    有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1539+)&LinkId=20476

    ------------------------------
    按钮:

    确定
    ------------------------------

    2015年10月17日 7:42

答案

全部回复

  • System.Data.SqlClient.SqlError: WS_Cntent_log_2(3)和 'WS_Cntent_log'(2)要求使用文件 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WS_Cntent.ldf'。WITH MOVE 子句可用于重新定位一个或多个文件。

    文件路径改下呗


    Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com

    2015年10月18日 10:03
  • 请问楼主可以贴出还原步骤界面和源数据库的文件分配情况吗

    Love SQL

    2015年10月19日 1:58
  • 估计是你加了文件,你可以在还原界面,选项中那个文件位置的地方重新指定一个有效的文件目录
    2015年10月19日 2:28
  • 恩,我发现有人在主节点的库中加了一个日志文件,

    在镜像服务器发现操作时,有如下错误日志出现过

    请问如何在还原界面指定有效目录。

    • 已建议为答案 rmiao 2015年10月19日 20:39
    • 取消建议作为答案 rmiao 2015年10月21日 3:15
    2015年10月19日 11:34
  • For mirrored db, both servers should have same file path to add new files.
    2015年10月19日 20:42
  • 后来把我第二个ldf删除了,删除后配置镜像就没问题了。

    但是我在测试环境测试了一下,主节点数据库在D盘可E盘。

    镜像点只有D盘,配置镜像也成功了,没有出现生产环境的问题。

    2015年10月22日 3:45
  • 本来就支持不同路径,推荐完全相同的路径只是能简化部署而已


    Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com

    2015年10月22日 4:58
  • 镜像部署文档有提到怎么指定不同路径的

    想不想时已是想,不如不想都不想。

    2015年10月22日 10:20
    版主
  • 后来把我第二个ldf删除了,删除后配置镜像就没问题了。

    但是我在测试环境测试了一下,主节点数据库在D盘可E盘。

    镜像点只有D盘,配置镜像也成功了,没有出现生产环境的问题。

    It's fine to mirror db with different file path on primary and partner servers because you moved file while restore db. But adding file to mirrored db is completely different thing which is 'alter database ...' transaction, therefore sql will mirror exact t-sql to partner and look for exact file path specified in 'alter database' statement.
    2015年10月22日 13:29