Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите разобраться с ServiceBroker'ом  [new]
Супер8
Guest
Добрый день.

Создаю базу, настраиваю работу сервис брокера (если его включить, всё работает, сообщения гуляют как надо).
Далее делаю бекап, восстанавливаю базу на другом сервере. Включаю сервис брокер, НЕ РАБОТАЕТ(((. Сообщения залипают в системной очереди
SELECT * FROM sys.transmission_queue


Пишет вот эту ошибку:
"An exception occurred while enqueueing a message in the target queue. Error: 15517, State: 1. Cannot execute as the database principal because the principal "dbo" does not exist, this type of principal cannot be impersonated, or you do not have permission."

Могу сказать заранее, никаких сертификатом и мастер ключей не создавал и мне этого не надо! (т.к. сообщения гуляют внутри базы за безопасность не заморачиваюсь!)

вот скрипты создания сервиса очереди и контракта

-- Регистрация типа сообщения.
CREATE MESSAGE TYPE [EM_ReceiveMessageEventData] VALIDATION = NONE
GO
-- Регистрация очереди отправителя.
CREATE QUEUE [EM_SourceQueue]
GO
-- Регистрация сервиса отправителя.
CREATE SERVICE [EM_SourceService] ON QUEUE [EM_SourceQueue]
GO
-- Регистрация контракта.
CREATE CONTRACT [EM_Contract] 
  (
    [EM_ReceiveMessageEventData] SENT BY INITIATOR
  )
GO


посылка сообщения:
DECLARE @convHandler uniqueidentifier

  -- Начало диалога.
  --
  BEGIN DIALOG   @convHandler
    FROM SERVICE    [EM_SourceService]
    TO SERVICE      @ObjectName
    ON CONTRACT     [EM_Contract]
    WITH
      ENCRYPTION = OFF -- т.к. master key мы не создавали ...


Что на первом сервер, что на втором (где восстанавливаю бекап), работаю под учёткой "sa", у него все права
Помогите разобраться, уже голову сломал, почему не работает на втором сервере?
28 окт 14, 09:43    [16766237]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с ServiceBroker'ом  [new]
invm
Member

Откуда: Москва
Сообщений: 9785
Владельца БД смените на валидного.
28 окт 14, 10:02    [16766342]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с ServiceBroker'ом  [new]
Супер8
Guest
invm,

то бишь на SA?
28 окт 14, 10:21    [16766432]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с ServiceBroker'ом  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5136
Супер8
invm,

то бишь на SA?

Сравните владельцев на обоих серверах.
При восстановлении БД - вы становитесь владельцем.
28 окт 14, 10:30    [16766484]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с ServiceBroker'ом  [new]
Супер8
Guest
Александр52,

Запутался(((
как запросом сравнить владельцев?
28 окт 14, 10:35    [16766505]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с ServiceBroker'ом  [new]
invm
Member

Откуда: Москва
Сообщений: 9785
Супер8
то бишь на SA?
Да.
28 окт 14, 10:36    [16766509]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с ServiceBroker'ом  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3413
Супер8,

Для брокера владельцем базы лучше сделать логин SQL - у вас, видимо, виндовый. Не обязательно SA, любой сиквельный логин подойдет (не guest, разве что).
28 окт 14, 10:47    [16766580]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить