欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

[SQL Server]非域环境下,配置数据库镜像时的1418错误处理.

程序员文章站 2024-01-09 19:55:34
...

在非域环境下,配置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]

[SQL Server]非域环境下,配置数据库镜像时的1418错误处理.

[SQL Server]非域环境下,配置数据库镜像时的1418错误处理.

在试着两台机器上,修改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 }

“高安全(同步)”模式,是指主体服务器提交了一个事务之后,将事务日志发给镜像服务器,同时在一个队列中等待镜像的响应,而不是在镜像服务器响应之后,主体服务器才提交事务。 (即就算镜像服务器挂了, 主体服务器也照常运行)