首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法到达镜像-服务器网络地址

无法到达镜像-服务器网络地址
EN

Database Administration用户
提问于 2012-09-07 09:15:58
回答 1查看 28.9K关注 0票数 13

我安装了Server 2008 R2。它包含三个实例。

  1. 默认(MSSQLServer)
  2. 一审
  3. 二审

所有这些都是以网络服务登录。

默认实例是主体服务器,第一个实例是镜像,第二个实例是Witness server

最初,我对主体数据库进行了完全备份和事务日志备份。通过保留相同的数据库名称将其还原到第一个实例,恢复状态为“不-恢复”

最后,我启动了镜像,并得到了如下所示的两条错误消息。

EN

回答 1

Database Administration用户

发布于 2012-09-07 16:52:56

尝试一些基本的连接测试。

  1. 确认5022、5023和5024正在监听。
  2. 验证您使用的服务器名称是否正确。

从命令行:

代码语言:javascript
复制
netstat -an

在我的服务器上,你可以看到5022在监听。

接下来,请确保您可以通过telnet连接到这些端口。

代码语言:javascript
复制
telnet fully-qualified-server-name 5022

正如它在镜像属性GUI的Note部分中提到的,就在见证字段的下面,服务器名必须是完全限定的tcp地址。

你应该看看黑屏。在本例中,我选择了一个会导致连接失败的名称。如果您看到“无法打开连接”,则服务器(S)定义为镜像、主体和见证无法到达,或者您没有使用正确的名称。

可以在Windows 2008的功能下添加telnet客户端。

在Windows 2008中,右键单击计算机时,可以看到计算机的全名。您也应该能够在命令行中对其进行平分。例:平梅花

更新

请对每个Server实例运行以下查询,并将结果放在您的问题中。许多这些故障排除提示来自:http://msdn.microsoft.com/en-us/library/ms189127.aspx

显示tcp端点

代码语言:javascript
复制
SELECT type_desc, port FROM sys.tcp_endpoints;

镜像端点的

显示状态

代码语言:javascript
复制
SELECT state_desc FROM sys.database_mirroring_endpoints;

检查角色是否正确,

代码语言:javascript
复制
SELECT role FROM sys.database_mirroring_endpoints;

显示端点

的权限

代码语言:javascript
复制
SELECT EP.name, SP.STATE, 
   CONVERT(nvarchar(38), suser_name(SP.grantor_principal_id)) 
      AS GRANTOR, 
   SP.TYPE AS PERMISSION,
   CONVERT(nvarchar(46),suser_name(SP.grantee_principal_id)) 
      AS GRANTEE 
   FROM sys.server_permissions SP , sys.endpoints EP
   WHERE SP.major_id = EP.endpoint_id
   ORDER BY Permission,grantor, grantee; 
GO

来自其他服务器实例的服务帐户的登录需要连接权限。确保来自其他服务器的登录具有连接权限。要确定谁拥有端点的连接权限,请在每个服务器实例上使用以下Transact-SQL语句。

示例输出:

代码语言:javascript
复制
name    STATE   GRANTOR PERMISSION  GRANTEE
TSQL Local Machine  G   sqladmin    CO      public
TSQL Named Pipes    G   sqladmin    CO      public
TSQL Default TCP    G   sqladmin    CO      public
TSQL Default VIA    G   sqladmin    CO      public
Mirroring   G   SERVERNAME\Grantor  CO      SERVERNAME\Grantee

设保人是分配(CO)连接权限的帐户,授权者是具有连接权限的帐户。

在命令行中运行ipconfig /all并注意主机名返回的内容。

票数 12
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/23878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档