资讯详情

如何解决镜像数据库与见证服务器已断开连接

数据库镜像服务器B和见证服务器C可以通过网络相互访问,我让见证服务器C做 主服务器和之前的镜像服务器B组成了一对镜像伙伴。从镜像监视器可以看出,两台机器都可以互相访问.

但一旦加入第三台机器,比如我的主题,见证服务器C和镜像服务器B已经断开连接.

打开见证服务器Csql server profiler,执行主题服务器

ALTER DATABASE Test1 SET witness = 'TCP://192.168.1.150:7039';

没有捕获任何跟踪

两个服务器的登录账户是否在对方服务器的终点被授予CONNECT的权限。

这个怎么检查?

我用

SELECT 'Metadata Check';

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

结果如下:

endpoint_mirroring G 20110407-0927\Administrator CO M_149

endpoint_mirroring G 20110407-0927\Administrator CO M_150

endpoint_mirroring G 20110407-0927\Administrator CO M_122

在见证服务器150上有一个户代码M_122是主服务器上的登录名,M_149是镜像服务器上的登录名,M_150是见证服务器上的登录名:

CREATE LOGIN M_122 WITH PASSWORD = 'M_Test';

CREATE USER M_122 for LOGIN M_122

CREATE CERTIFICATE T122_Cert

AUTHORIZATION M_122

FROM FILE = ''

GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO M_122;

GO

CREATE LOGIN M_149 WITH PASSWORD = 'M_Test';

CREATE USER M_149 for LOGIN M_149

CREATE CERTIFICATE T149_Cert

AUTHORIZATION M_149

FROM FILE = ''

GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO M_149;

GOCREATE LOGIN M_150 WITH PASSWORD = 'M_Test';

CREATE USER M_150 for CERTIFICATE T150_Cert;

GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO M_150;GO

(后缀150是见证服务器,后缀149是镜像服务器,后缀122是主题服务器)其他两台机器也执行了类似的代码

你能帮我分析一下有什么问题吗?

标签: ep11连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台