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

Восстанавливаю БД из бекапа, включаю сервис брокер, сообщения отправляю.

Восстанавливаю 2-ю БД из этого же бекапа, при включении сервисброкера пише:

Сообщение 9772, уровень 16, состояние 1, строка 1
Компонент Service Broker в базе данных "test21" не может быть включен, потому что там уже включен компонент Service Broker с таким же идентификатором.
Сообщение 5069, уровень 16, состояние 1, строка 1
Не удалось выполнить инструкцию ALTER DATABASE.


и сам скрипт:

DECLARE @DB NVARCHAR(128)
SET @DB = (SELECT db_name())

IF (SELECT is_broker_enabled FROM sys.databases WHERE [name] = @DB) = 0
BEGIN
  -- На всякий случай меняем владельца базы данных.
  EXEC('ALTER AUTHORIZATION ON DATABASE:: [' + @DB + '] TO [sa]');
  -- Включение сервис брокера.
  EXEC('ALTER DATABASE ' + @DB + ' SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE');
END 


Помогите)))
29 окт 14, 14:26    [16772867]     Ответить | Цитировать Сообщить модератору
 Re: Не включается Service  [new]
invm
Member

Откуда: Москва
Сообщений: 9723
alter database ... set new_broker;
29 окт 14, 14:36    [16772918]     Ответить | Цитировать Сообщить модератору
 Re: Не включается Service  [new]
ServiceBroker
Guest
invm
alter database ... set new_broker;


Спасибо.
Мне только не совсем понятно, сервис брокер запускается абсолютно в другой базе???

и что означает:

...что там уже включен компонент Service Broker с таким же идентификатором.


Что за волшебный идентификатор? как его запросом можно посмотреть?
и как создавая сервисброкер этот идентификатор можно задать?
29 окт 14, 15:00    [16773096]     Ответить | Цитировать Сообщить модератору
 Re: Не включается Service  [new]
invm
Member

Откуда: Москва
Сообщений: 9723
ServiceBroker
Что за волшебный идентификатор? как его запросом можно посмотреть?
service_broker_guid в sys.databases.
ServiceBroker
и как создавая сервисброкер этот идентификатор можно задать?
Никак.
29 окт 14, 15:13    [16773224]     Ответить | Цитировать Сообщить модератору
 Re: Не включается Service  [new]
ServiceBroker
Guest
invm,

Огромное спасибо, теперь стало более понятней.

Скажи последнее, ничего страшного нет, в том что делаем
alter database ... set new_broker;

независимо от того включали ли мы брокер до этого или нет?

Могу ли я безо всяких проверок и т.п. заменить
 EXEC('ALTER DATABASE ' + @DB + ' SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE');


на
 EXEC('ALTER DATABASE ' + @DB + ' set new_broker WITH ROLLBACK IMMEDIATE');


??
29 окт 14, 15:30    [16773341]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить