Добавил:
support-vk-server-knmcadiknmcadibav.ru Сайт моих друзей из VKT NDA : https://support-vk-server-knmcadiknmcadibav.ru/about/ ila_iv_id566844132@dnevnik.ru VK Testers NDA (тестировщик) QA. Студент 4 курса. +79009627198 https://vk.cc/help #HLKLesNarod# Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
05.07.2025
Размер:
1.42 Кб
Скачать
-- 1. Включение Service Broker в базе NameDataB
USE master;
GO
ALTER DATABASE NameDataB SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE;
GO

-- 2. Переход в рабочую базу
USE NameDataB;
GO

-- 3. Создание очереди, если не существует
IF NOT EXISTS (SELECT * FROM sys.service_queues WHERE name = 'NotifyQueue')
CREATE QUEUE NotifyQueue;
GO

-- 4. Создание сервиса, если не существует
IF NOT EXISTS (SELECT * FROM sys.services WHERE name = 'NotifyService')
CREATE SERVICE NotifyService
ON QUEUE NotifyQueue
([http://schemas.microsoft.com/SQL/Notifications/PostEventNotification]);
GO

-- 5. Удаление старого уведомления (если было)
IF EXISTS (
SELECT *
FROM sys.event_notifications
WHERE name = N'NotifyAlterTable'
)
DROP EVENT NOTIFICATION NotifyAlterTable
ON DATABASE;
GO

-- 6. Создание уведомления на событие ALTER_TABLE
CREATE EVENT NOTIFICATION NotifyAlterTable
ON DATABASE
FOR ALTER_TABLE
TO SERVICE 'NotifyService', 'current database';
GO

-- 7. Пробный ALTER-запрос (создаст событие)
IF OBJECT_ID('dbo.ТестоваяТаблица') IS NULL
CREATE TABLE dbo.ТестоваяТаблица (ID INT);
GO

ALTER TABLE dbo.ТестоваяТаблица ADD Проверка INT NULL;
GO

-- 8. Чтение уведомлений из очереди (до 10)
RECEIVE TOP(10)
conversation_handle,
message_type_name,
CAST(message_body AS XML) AS message_body
FROM NotifyQueue;
GO
Соседние файлы в папке dnevnik ru