none
sql 2005重做镜像失败 RRS feed

  • 问题

  • 我的环境是windows2003企业版x64_sp2+msssql2005企业版x64_sp3+CU15。

    双机集群环境,安装了两个数据库实例,计划这两个实例的数据朝异地一台单机的两个实例上做镜像。

    配置部署:

    1、修改本地数据库恢复模式为“完全”,手工做一次完全备份;

    2、在异地服务器上还原上面备份的数据库为“NORECOVERY”模式;

    3、配置镜像,异地数据库实例端口2080,镜像端口使用默认5022,配置完成后,点击“开始镜像”报如下图错误。

    不知道什么原因,请求大家帮忙看看。



    *后来怀疑端口有问题,使用下面语句修改端口也报错,如下:

    CREATE ENDPOINT THIS4
    STATE=STARTED
    AS TCP(LISTENER_PORT=5011)
    FOR DATABASE_MIRRORING(ROLE=PARTNER,ENCRYPTION=SUPPORTED)
    go

    ###################

    消息 7862,级别 16,状态 1,第 1 行
    具有所请求的类型的端点已存在。仅支持一个具有此类型的端点。请使用 ALTER ENDPOINT 语句或对现有端点使用 DROP 语句,然后执行 CREATE ENDPOINT 语句。
    消息 7807,级别 16,状态 1,第 1 行
    试图注册端点 'THIS4' 时出错('0x800700b7')。


    ~~~~~~~~~~~~~~~~~~~~~~~~~~~

    郁闷的是,另外一套完全一样的架构,也是两个实例的数据库镜像做好后(每个实例有多个数据库),今天突然镜像服务器重启了一下,起来后每个实例里都有一个数据库恢复了镜像,其他数据库镜像显示“挂起”状态,选择“镜像”\"恢复"不能成功。手动停止镜像后,将镜像服务器上的镜像数据库删除,重新做了备份到镜像服务器还原,并按照图形配置镜像后选择“开始镜像”后报错和上图一样。




    • 已编辑 随.风 2013年4月6日 14:52
    2013年4月6日 14:46

答案

全部回复

  • Take out 2080 from partner server name, mirroring uses port 5022 by default.
    2013年4月6日 15:53
  • 2080是异地数据库实例的端口,不带端口连接不上的。5022是默认的镜像端口。
    2013年4月7日 0:58
  • Can't put 2 port numbers there, period.
    2013年4月7日 1:28



  • 现在有个同样的环境,镜像服务器重启后,镜像挂起,但有几个库的镜像已经同步了。


    这种情况怎么恢复?
    • 已编辑 随.风 2013年4月7日 2:02
    2013年4月7日 2:02
  • You can resume it in db properties -> mirror in ssms.
    2013年4月7日 2:14
  • 两个数据库,数据库B恢复了已同步,A无法恢复,一直是显示:''镜像,挂起/正在还原..."状态。

    主体服务上有如下SQL消息日志:
    Database mirroring is active with database 'B' as the principal copy. This is an informational message only. No user action is required.

    Database mirroring is inactive for database 'A'. This is an informational message only. No user action is required.

    镜像服务器上有如下日志:

    While acting as a mirroring partner for database 'A', server instance 'NEW\SQL' encountered error 9004, status 3, severity 21. Database mirroring will be suspended.  Try to resolve the error and resume mirroring.


    • 已编辑 随.风 2013年4月7日 2:33
    2013年4月7日 2:23
  • You can resume it in db properties -> mirror in ssms.

    手动右键选择镜像挂起的数据库\镜像\选择“恢复”,下方镜像状态刷新后提示:“已暂停: 挂起对此数据库进行的数据库镜像操作。”

    无法恢复。。。

    2013年4月7日 2:25
  • Check sql log to find out why can't resume, run out of disk space?
    2013年4月7日 2:58
  • You can resume it in db properties -> mirror in ssms.

    手动右键选择镜像挂起的数据库\镜像\选择“恢复”,下方镜像状态刷新后提示:“已暂停: 挂起对此数据库进行的数据库镜像操作。”

    无法恢复。。。

    May run out of log disk space, need clean up log and reset mirroring if that's the case.
    2013年4月7日 3:01
  • log disk space足够。

    现在重做镜像,备份还原后,配置完镜像,最后点击“开始镜像”时提示:由于服务器连接字符串无效,ALTER DATABASE 命令失败。 (Microsoft SQL Server,错误: 1449)

    无法镜像。。。

    注:我连接镜像服务器使用的是sa帐号。

    2013年4月7日 5:54
  • What's sql service account on those machines? Does it have sysadmin rights on both servers?
    2013年4月7日 17:02
  • 你把实例端口写上去干吗?镜像就写镜像端口就是了。

    镜像不会直接连接数据库的。


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

    2013年4月8日 2:11
    版主