环境如下:
主体数据库(ip: 192.168.0.11) winxp sp3 sqlserver2005 sp3 32bit , 数据库名字为cwbase2
镜像数据库(ip: 192.168.0.12)win2003 sp2 sqlserver2005 sp3 32bit , 数据库名字为cwbase2
不使用见证服务器,采用异步数据库镜像(高性能模式)
准备工作:
将主体数据库cwbase2 改为full恢复模式
将镜像数据库cwbase2 改为full恢复模式
将主体机器上的sqlserver 服务,sqlserver agent服务,sqlserver browser服务,改为由administrator启动,并设置为自动启动
将镜像机器上的sqlserver 服务,sqlserver agent服务,sqlserver browser服务,改为由administrator启动,并设置为自动启动
将主体机器的administrator 的密码与 镜像机器的administrator 的密码 设置成一样的密码
将主体机器的主机名改为host.com,镜像机器的主机名也改为如此.com形式的主机名
将主体机器和镜像机器的hosts文件里边写好两台机器的信息。
开始配置数据库镜像,配置时,备份主体数据库(cwbase2.bak),和主体数据库的日志(cwbase2log.bak)
在镜像机器上将cwbase2.bak恢复,恢复选项一定要选择norecovery,
在镜像机器上将cwbase2log.bak恢复,恢复选项一定要选择norecovery.
当配置数据库镜像的最后一步时,报错:
服务器网络地址 "TCP://testamd.com:5022" 无法访问或不存在。请检查网络地址名称,并检查本地和远程端点的端口是否正常运行。 (.Net SqlClient Data Provider)
------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.4035&EvtSrc=MSSQLServer&EvtID=1418&LinkId=20476
------------------------------
服务器名称: .
错误号: 1418
严重性: 16
状态: 1
行号: 1
此错误网上也是有各种不同的解决方法,我都试过这些解决方法,是无效的。
后来,我去查看了主体机器sqlserver2005 的sqlserver日志,发现如下提示:
Database Mirroring login attempt by user 'WINXPAdministrator.' failed with error: 'Connection handshake failed. The login 'WINXPGuest' does not have CONNECT permission on the endpoint. State 84.'. [CLIENT: 192.168.0.12]
于是我禁用了主体机器上的guest账户,然后,重新配置镜像,还是报:服务器网络地址 "TCP://testamd.com:5022" 无法访问或不存在。
再去查看主体机器sqlserver2005 的sqlserver日志,发现如下提示:
Database Mirroring login attempt failed with error: 'Connection handshake failed. An OS call failed: (8009030c) 0x8009030c(登录没有成功). State 67.'. [CLIENT: 192.168.0.12]
于是我在镜像机器上使用winxp访问主体机器,访问不了,
于是在主体机器(winxp机器)上修改组策略:"开始菜单 运行"→"gpedit.msc"→"计算机配置"→"windows设置"→"安全设置"→"本地策略"→"安全选项"→"网络访问本地帐号的共享和安全模式" ---修改成经典
然后,重新配置镜像,就成功了。[@more@]