Service Broker, конечная точка - действительно ли мне нужен сертификат для отправки сообщений между двумя серверами? - PullRequest
1 голос
/ 22 апреля 2011

Действительно ли мне нужно создать сертификат для отправки сообщения в очередь между серверами sql? Могу ли я использовать аутентификацию dbo для конечной точки на обоих серверах?

create endpoint target
state = started
as TCP
(
LISTENER_PORT = 4022
)
FOR SERVICE_BROKER (AUTHENTICATION = CERTIFICATE ????, ENCRYPTION = ENABLED);

ЕСЛИ Я должен использовать сертификат, могу ли я использовать сертификат базы данных пользователей вместо одного на главном? Как бы я поступил так?

В данный момент меня не интересует безопасность. Оба сервера находятся на закрытой сети без доступа к Интернету.


Извините. У меня нет профилировщика. Я использую sql express 2005.

  CREATE ROUTE RoutetoTarget
    WITH
    BROKER_INSTANCE = 'xxxxxx-xxx-xx-x-x-x-x',
   SERVICE_NAME = 'LOCALReceivingService',

<--- <strong>, который работает только в экземплярах на одном и том же сервере. Однако, как только я добавляю IP целевого сервера с номером порта (конечная точка, которую я создал на целевом сервере), сообщения отправляются в void. Они никогда не доберутся до другого сервера.

ADDRESS = 'TCP://targetipadress:PORT'

Ответы [ 2 ]

1 голос
/ 25 апреля 2011

Я понял это. Вам необходимо, по крайней мере, иметь DBO AUTHORIZATION для локальной и удаленной службы, убедиться, что все шифрование в конечной точке и отправленное сообщение отключены / отключены, и, наконец, НЕ иметь главного ключа. Многие интернет-сайты говорят, что Брокер не будет работать без зашифрованного мастер-ключа, но в данном случае это не так.

0 голосов
/ 22 апреля 2011

Вам не нужно использовать сертификат:

CREATE ENDPOINT ssb_target
STATE = STARTED
AS TCP 
(
    LISTENER_PORT = 4022
)
FOR SERVICE_BROKER
(
    AUTHENTICATION = WINDOWS,
    ENCRYPTION = DISABLED
)
GO

Дополнительная информация: ссылка

...