sqlserver broker远端端点证书认证

1:采用windows验证的方法:

CREATE ENDPOINT InstInitiatorEndpoint STATE = STARTED AS TCP ( LISTENER_PORT = 4022 ) 
FOR SERVICE_BROKER (AUTHENTICATION = WINDOWS );
GO

在两个实例间各创建一个,采用windows验证,若两台计算机在同一个域内,则此时采用windows验证时足以的。

2:采用证书的方法验证
数据库间通信的证书等是存在于master数据库的,所以我们第一步要在master数据库创建主钥和证书,并且备份出公钥。
use master 
go --master key create master key encryption by password='!@#masterkey249'; --certificate create certificate broker_private_249_cer with subject='for 249', start_date='11/11/2009',expiry_date='11/11/2111';
backup certificate broker_private_249_cer to file='c:certroker_public_249_cer.cer';

Broker远端端点建立

第二步创建端点和证书绑定(此处绑定的证书是自己创建的私钥

CREATE ENDPOINT [broker_249_endpoint] 
AUTHORIZATION [sa]
STATE=STARTED
AS TCP (LISTENER_PORT = 4022, LISTENER_IP = ALL)
FOR SERVICE_BROKER (MESSAGE_FORWARDING = ENABLED
, MESSAGE_FORWARD_SIZE = 10
, AUTHENTICATION = CERTIFICATE [broker_private_249_cer]
, ENCRYPTION = DISABLED)
第三步就是创建登录和用户
create login broker_243_login with password='qsmc+12345';
 
create user broker_243_user for login broker_243_login;(产生映射关系)

第四步:将对方备份出来的公钥拷贝到自己的服务器端,并且进行绑定

create certificate broker_public_243_cer
authorization broker_243_user from file='c:certroker_public_243_cer.cer';

将刚刚创建的用户进行绑定,并且创建一个certificate (授权)

第五步:赋予刚创建用户连接端点的权利
grant connect on endpoint::broker_249_endpoint to broker_243_login;

切记一点:一个数据库实例只能够有一个service broker的端点:endpoint,当我们建立已经有endpoint的时候,需要与别的数据库进行端点间的访问,我们只用从四散不开始就可以了。

这就创建完成了。恩  还挺有成就感的
原文地址:https://www.cnblogs.com/shengdimaya/p/5403952.html