Home >Database >Mysql Tutorial >[SQL Server]非域环境下,配置数据库镜像时的1418错误处理.
在非域环境下,配置SQL Server 2008 数据库镜像服务的时候,在最后一步(即下图中,点击开始镜像按钮之后),遇到报错1418错误, 1418: 服务器网络地址 tcp://xiaoxu:5022 无法访问或不存在。请检查网络地址名称,并检查本地和远程端点的端口是否正常运行。
在非域环境下,配置SQL Server 2008 数据库镜像服务的时候,在最后一步(即下图中,点击"开始镜像"按钮之后),遇到报错1418错误,
1418: 服务器网络地址 "tcp://xiaoxu:5022" 无法访问或不存在。请检查网络地址名称,并检查本地和远程端点的端口是否正常运行。 |
在“镜像服务器”的日志中有如下错误:
Database Mirroring login attempt failed with error: 'Connection handshake failed. An OS call failed: (8009030c) 0x8009030c(登录没有成功). State 67.'. [CLIENT: 192.168.1.8]
在试着两台机器上,修改hosts文件,修改SQL Server启动账户为同一账户密码,互相telnet 1433和5022端口都通(在windows防火墙把这两个端口添加到“例外”), 互相“ping 主机名”也是通的. 然后删除endpoint,再重新配置镜像,仍然报同样的错误。
解决方法为:配置两台机器上,启动sql server为同一名字账户,且密码要相同;重启SQL Server服务; 然后在两机器上,都删除端点(drop endpoint ...),再重启配置。
用T-SQL的方式配置镜像,参见:http://msdn.microsoft.com/en-us/library/ms179306.aspx
图形界面配置,可参见:非域环境下SqlServer2005镜像安装配置步骤
另外,“高性能模式(异步)”不支持手动“故障转移”,“高安全(同步)”支持手动“故障转移”。两种方式可以通过在主体服务器上执行如下T-SQL实现修改:
ALTER DATABASE testdb SET PARTNER SAFETY { FULL | OFF }
“高安全(同步)”模式,是指主体服务器提交了一个事务之后,将事务日志发给镜像服务器,同时在一个队列中等待镜像的响应,而不是在镜像服务器响应之后,主体服务器才提交事务。 (即就算镜像服务器挂了, 主体服务器也照常运行)