非域下采用证书配置数据库镜像问题(不能连接见证服务器)

五位数 2010-04-16 10:43:20
目前3台物理机器搭建镜像服务器
主服务器和镜像服务器已经可以连接上,并正常工作,
但是就是不能连接见证服务器,每个服务器上的证书都与用户绑定,
在主服务器最后执行
--设置见证服务器
ALTER DATABASE pubs SET WITNESS = N'TCP://192.168.0.228:7024';
GO


消息 1456,级别 16,状态 3,第 2 行
无法将 ALTER DATABASE 命令发送到远程服务器实例 'TCP://192.168.0.228:7024'。数据库镜像配置未更改。请确保该服务器已连接,然后重试。

搜索了所有相关问题。都没有找到解决办法,没办法只有来这里发帖问了。
希望知道的朋友,能告诉一下。
...全文
446 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
五位数 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 obuntu 的回复:]
楼主,还是好好检查下你的操作细节看看吧。

看理论上都没什么问题呢。
[/Quote]

我现在用证书,主和从是没问题的,但是见证就是不好使,难道配置见证的时候有什么不同吗?
obuntu 2010-04-19
  • 打赏
  • 举报
回复
楼主,还是好好检查下你的操作细节看看吧。

看理论上都没什么问题呢。
五位数 2010-04-19
  • 打赏
  • 举报
回复
问题没解决,自己顶一下。。。。
Garnett_KG 2010-04-16
  • 打赏
  • 举报
回复
是的. 新建的用户需要administrator权限.

是sqlserver服务的启动帐号相同

比如:
A电脑 user: dbm_user password :abc
B电脑 user: dbm_user password :abc
C电脑 user: dbm_user password :abc

然后将dbm_user都设有administrator权限,sqlserver的服务改用这个dbm_user启动,这样就可以了。
五位数 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 garnett_kg 的回复:]
在三台电脑上建相同的用户名,密码也一样

将三台电脑的sqlserver服务启动帐号用新建的帐户,这样就行了,不需要证书。
[/Quote]

你的意思是在非域环境下。可以不用证书,只需要每个机器上的SQLSERVER服务用新建立的系统账户启动。
这个系统账户是否需要属于administrator呢,这是第一个问题

还有,只要,每个sqlserver的账户都是相同的密码也相同。就可以通信了吗?
能否详细点告诉一下原理。
Garnett_KG 2010-04-16
  • 打赏
  • 举报
回复
在三台电脑上建相同的用户名,密码也一样

将三台电脑的sqlserver服务启动帐号用新建的帐户,这样就行了,不需要证书。
五位数 2010-04-16
  • 打赏
  • 举报
回复
首先谢谢兄弟的回复
思路我到是挺清晰的。 比如a(主) b(镜像) c(见证)
a里只需要b和C的证书 b里只需要A和c的证书。。。。。。以此类推

你提供的文章我研究过。
目前我没有域的环境,对域不是太懂。。。
所以只能用证书, 用户名和密码我倒是用了3个 a有a用户b用户c用户,以此类推

nzperfect 2010-04-16
  • 打赏
  • 举报
回复
三个用证书,挺麻烦的,我只做过一次.
需要两两证书.思路清晰.

参考:
http://www.cnblogs.com/killkill/archive/2008/05/23/1205792.html
这个虽然没有见证,但如果搞明白原理和过程,自己可以加上见证.

还是用域或是用相同的windows用户名密码(在每个server上建)
五位数 2010-04-16
  • 打赏
  • 举报
回复
自己顶一下,在线等答案
五位数 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 garnett_kg 的回复:]
引用 21 楼 mdjhaitao 的回复:

引用 20 楼 garnett_kg 的回复:
192.168.0.1 server1
192.168.0.1 server1.workgroupname.com
192.168.0.x server2
192.168.0.x server2.workgroupname.com
192.168.0.y server3
192.168.……
[/Quote]

这样吧。可能咱们忘记了哪些步骤,你有没有文档,能发给我吗?这样。我自己搞就行。要不还要麻烦你,咱们这么说也不知道到底是哪里有问题。
我邮箱mdjhaitao#163.com
谢谢。
Garnett_KG 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 mdjhaitao 的回复:]

引用 20 楼 garnett_kg 的回复:
192.168.0.1 server1
192.168.0.1 server1.workgroupname.com
192.168.0.x server2
192.168.0.x server2.workgroupname.com
192.168.0.y server3
192.168.0.y server3.workgroupname……
[/Quote]

你用ping serverx.workgorupname.com 能ping通?还是连接不上?

我这里大约有60多家客户成功的例子, 都是这样配置的。

如果不行我也木办法了.
五位数 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 garnett_kg 的回复:]
192.168.0.1 server1
192.168.0.1 server1.workgroupname.com
192.168.0.x server2
192.168.0.x server2.workgroupname.com
192.168.0.y server3
192.168.0.y server3.workgroupname.com

类似这样吧,三台都设上. serve……
[/Quote]

我不是太明白了。我机器不是在一个局域网内。工作组名字还有效吗
我现在用两个域名绑定到了这两个机器的IP上。ping都是通的。可是最后主服务器仍然无法连接从服务器
Garnett_KG 2010-04-16
  • 打赏
  • 举报
回复
192.168.0.1 server1
192.168.0.1 server1.workgroupname.com
192.168.0.x server2
192.168.0.x server2.workgroupname.com
192.168.0.y server3
192.168.0.y server3.workgroupname.com

类似这样吧,三台都设上. server1~server3 是你电脑的名用,workgroupname是你工作组的名称
设好後重启
然后各自ping 对方的名称(server.workgroupname.com) 看能否ping通,如若没问题那基本上就差不多了。

五位数 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 garnett_kg 的回复:]
引用 17 楼 mdjhaitao 的回复:

引用 16 楼 garnett_kg 的回复:
引用 15 楼 mdjhaitao 的回复:

引用 14 楼 garnett_kg 的回复:
你的sql服务的启动帐号改了吗?


恩。服务器的启动用户。都是属于系统管理员组的。

我的这个my_server账号,也已经给了连接权限了。


不是服务器的启动用户,是Sqls……
[/Quote]
其他的都做到了。

这个host文件才是关键吧。如果没有域名呢。我应该怎么写呢。
Garnett_KG 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 mdjhaitao 的回复:]

引用 16 楼 garnett_kg 的回复:
引用 15 楼 mdjhaitao 的回复:

引用 14 楼 garnett_kg 的回复:
你的sql服务的启动帐号改了吗?


恩。服务器的启动用户。都是属于系统管理员组的。

我的这个my_server账号,也已经给了连接权限了。


不是服务器的启动用户,是Sqlserver service的启动帐户.


……
[/Quote]
对了.

三台电脑的sql服务启用帐号必须都是my_server, 而且密码都必须一样。

另外一点要注意
TCP://192.168.0.1:7025
要改成
tcp://pcname.domain.com:7025
这种方式,
你要去改host文件来映射域名.

五位数 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 garnett_kg 的回复:]
引用 15 楼 mdjhaitao 的回复:

引用 14 楼 garnett_kg 的回复:
你的sql服务的启动帐号改了吗?


恩。服务器的启动用户。都是属于系统管理员组的。

我的这个my_server账号,也已经给了连接权限了。


不是服务器的启动用户,是Sqlserver service的启动帐户.
[/Quote]

我知道是服务的启动账户,就是我在操作系统里建立一个账号,隶属于管理员组。用这个账户来启动sqlserver
我的my_server是sqlserver的账号 对吧。
Garnett_KG 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 mdjhaitao 的回复:]

引用 14 楼 garnett_kg 的回复:
你的sql服务的启动帐号改了吗?


恩。服务器的启动用户。都是属于系统管理员组的。

我的这个my_server账号,也已经给了连接权限了。
[/Quote]

不是服务器的启动用户,是Sqlserver service的启动帐户.
五位数 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 garnett_kg 的回复:]
你的sql服务的启动帐号改了吗?
[/Quote]

恩。服务器的启动用户。都是属于系统管理员组的。

我的这个my_server账号,也已经给了连接权限了。
Garnett_KG 2010-04-16
  • 打赏
  • 举报
回复
你的sql服务的启动帐号改了吗?
Garnett_KG 2010-04-16
  • 打赏
  • 举报
回复
/****** 对象: Endpoint [Endpoint_Mirroring1] 脚本日期: 04/16/2010 14:31:37 ******/
CREATE ENDPOINT [Endpoint_Mirroring1]
AUTHORIZATION [sa]
STATE=STARTED
AS TCP (LISTENER_PORT = 7025, LISTENER_IP = ALL)
FOR DATA_MIRRORING (ROLE = PARTNER, AUTHENTICATION = WINDOWS NEGOTIATE
, ENCRYPTION = REQUIRED ALGORITHM RC4)


你试sa
加载更多回复(4)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧