
Добавил:
stud641pr2833455
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#
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:ila_iv_id566844132dnevnikru / Разработки для умных студентов на 5 / 665005-1 vrn / ila_iv_id566844132 dnevnik ru ростелеком / dnevnik ru / SQLQuery220620252219dipl
.sql -- 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
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