SQL Server 2005数据库镜像错误

时间:2009-02-25 01:33:23

标签: sql-server sql-server-2005 mirroring endpoints server-configuration

尝试在我的服务器上设置SQL Server 2005数据库镜像时出现以下错误。我正在运行两台带有SQL 2005的Win2K3服务器,其中一台服务器与SQL 2000版本一起运行。使用NORecovery还原数据库并配置端点后,当我尝试启动镜像会话时遇到以下错误。

TITLE: Database Properties
------------------------------

An error occurred while starting mirroring.

------------------------------
ADDITIONAL INFORMATION:

Alter failed for Database 'TestDB'.  (Microsoft.SqlServer.Smo)

------------------------------

An exception occurred while executing a Transact-SQL statement or 
batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

The server network address "TCP://S-01.ssl.local:5022" can not be reached 
or does not exist. Check the network address name 
and that the ports for the local and remote endpoints are operational. 
(Microsoft SQL Server, Error: 1418)

我还要注意,我可以使用两台服务器的全名telnet到端口。

更新

辅助服务器将SQL Server 2005作为本地1434上的命名实例运行,并通过网络运行1433,其IP地址与正在使用的FQDN匹配。

[编辑]

我能够在两台服务器上Telnet到端口5022。

[溶液]

如果您可以记录并且两个端口都处于活动状态,则可能是SQL Server正在使用的基础帐户不是域帐户。在我们的服务器上,本地系统帐户是该服务登录的用户。将此更改为管理员域帐户后,问题就解决了。

5 个答案:

答案 0 :(得分:1)

您是否在每台服务器上远程登录到端口5022?这是数据库镜像使用的端口,而不是SQL端口1433/1434。

我会检查所有防火墙设置,并且SQL Server服务正在域帐户下运行。

您可能还想查看此问题排查文章中有关镜像的其他要点:

http://blogs.msdn.com/grahamk/archive/2008/12/08/database-mirroring-error-1418-troubleshooter.aspx

答案 1 :(得分:1)

检查两台计算机上的SQL日志,并确保SQL Server正在侦听数据库镜像端点应使用的端口5022。

在具有命名实例的服务器上,是否有另一个实例配置为使用相同的TCP端口进行镜像或其他?

答案 2 :(得分:1)

如果您可以记录并且两个端口都处于活动状态,则可能是SQL Server正在使用的基础帐户不是域帐户。在我们的服务器上,本地系统帐户是该服务登录的用户。将此更改为管理员域帐户后,问题就解决了。

答案 3 :(得分:0)

由于看起来您的登录成功并且在实际启用镜像时失败了,您是否尝试使用SQL事件探查器查看确切的语句失败?

不确定您是否熟悉Profiler,但here's a tutorial(适用于SQL 2000,但该工具在2005年略有不同)。

答案 4 :(得分:0)

我也有这个问题但是在Windows 7中运行的sql server 2008(同一台机器中的所有实例),

在我的情况下解决方案:

正在这样做:

步骤1)您的系统防火墙不应阻止SQL Server端口。

步骤2)转到计算机管理>>服务和应用>> SQL Server 2005配置>>网络配置 启用TCP / IP协议。确保SQL SERVER端口是默认值1433。

只是为了确保再遵循一个可能需要或可能没有必要的步骤。

步骤3)转到计算机管理>>服务和应用>> SQL Server 2005配置>>客户端配置 启用TCP / IP协议。

参考:Pinal Dave(http://blog.SQLAuthority.com

然后:http://www.youtube.com/watch?v=VHAUtCiN1M4 女巫基本上是去SQL Server配置管理器,并为每个实例设置您的本地用户和密码。

只是我的两分钱,因为似乎不是每个解决方案都适用于所有人......而且我有一天想要弄清楚