1

我是 MS Sql 服务代理的新手。

我检查了几个教程。但我找不到答案。

我有分布式服务器,但幸运的是它们都在同一个域下。

是否可以在不使用任何证书的情况下完成结构?

4

2 回答 2

3

是的。

不要使用对话安全性。确保所有BEGIN DIALOG语句都使用ENCRYPTION = OFF子句:

BEGIN DIALOG @handle
  FROM SERVICE @from_service   
  TO SERVICE @to_service
  ON CONTRACT @contract
  WITH ENCRYPTION = OFF;       

授予对每个目的地服务的SEND权限:[public]

GRANT SEND ON SERVICE::<servicename> TO [public];

WINDOWS在s 上使用身份验证ENDPOINT

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

授予CONNECTSQL 服务使用的域帐户的 ENDPOINT 权限:

GRANT CONNECT ON ENDPOINT::broker TO [domain\sqlserviceaccount];  

(编辑以更正 GRANT SEND 语法)

于 2012-07-11T17:36:56.900 回答
0

Remus,你能用加密而不是主密钥加密来做这件事吗?我看到,当我使用时AUTHENTICATION = WINDOWS,我也可以做到ENCRYPTION = SUPPORTED。阅读 SB,有两种类型的加密(传输和消息)。

这都在同一个内部网络上,但我宁愿不使消息的内容可读。我认为这只是意味着我需要传输安全性——我不知道这是否需要证书或主密钥加密。

谢谢!

于 2012-08-09T02:44:18.800 回答