СУБД Digital Q.DataBase
507 subscribers
123 photos
14 videos
2 files
126 links
► Уникальный СУБД-канал Digital Q.DataBase от амбассадора Андрея Жуйкова @zavrius ✍️ - разбираемся, как наша СУБД воспроизводит диалекты Oracle, MS SQL и PostgreSQL и обеспечивает совместимость с существующим кодом приложений без его переписывания.
Download Telegram
Диасофт поздравляет всех женщин с Международным женским днем! Сегодня в IT приходит все больше женщин, и это делает нашу сферу сильнее и гармоничнее! 💫

Дорогие дамы, вы не просто украшаете любой коллектив своим присутствием. Талантливые и умные, вы проявляете упорство, принимаете сложные решения, пишете чистый код, ломаете стереотипы о "неженских" профессиях и делаете мир технологий по-настоящему разнообразным!

Пусть ваша душа ликует от счастья, а вся жизнь будет наполнена солнечным настроением, особой теплотой и вниманием! С праздником!

Искренне ваш Диасофт ❤
Please open Telegram to view this post
VIEW IN TELEGRAM
1275
Уважаемые подписчики!

Напоминаем, что уже завтра состоится вебинар «Digital Q.DataBase: современный путь перехода с MS SQL Server и Oracle».

📅 10 марта
🕒 12:00–13:00 (МСК)

🔄Участие бесплатное, регистрация по ссылке:

https://webinar.diasoft.ru/10_03

В рамках вебинара рассмотрим:

✅ Переход с Oracle и MS SQL без переписывания кода.
Миграция корпоративных систем на Digital Q.DataBase с сохранением логики и SQL-кода.

✅ Знакомство с Digital Q.DataBase.
Архитектура, ключевые преимущества и области применения.

✅ Новые DBMS-пакеты в Digital Q.DataBase.
Расширение списка поддерживаемых аналогов DBMS-пакетов Oracle, позволяющих упростить перенос PL/SQL-кода на Digital Q.DataBase.

✅ Digital Q.CDC.
Механизм синхронизации изменений из баз под управлением СУБД Oracle,  MS SQL Server и PostgreSQL в Digital Q.DataBase.

✅ Аналог функциональности Service Broker из MS SQL Server в Digital Q.DataBase.
Представление возможностей и примеры использования.

✅ История успеха.
Как крупная система на Oracle была переведена на Digital Q.DataBase без изменений в исходном коде.
Please open Telegram to view this post
VIEW IN TELEGRAM
654
🔄Всем привет хочу поделиться с вами своей статьей на Хабре о том как мы перевели корпоративные базы 1С с MS SQL Server на Digital Q.DataBase.

🟣Во многих компаниях сама платформа 1С уже может работать на Linux, но инфраструктура часто остаётся привязана к Windows из-за СУБД и накопившейся логики внутри базы. Со временем вокруг системы появляются интеграции, T-SQL процедуры, прямые подключения других сервисов, db-линки и аналитические сценарии.

🟣Поэтому обычный переход на PostgreSQL превращается в сложный проект с переписыванием кода и рисками для бизнеса.

🟣В статье рассказываю как мы решили эту задачу и смогли перенести базы без изменения прикладной логики и без остановки работы пользователей.

🟣Ссылка на Habr статью:
https://habr.com/ru/companies/diasoft_company/articles/1008552/
Please open Telegram to view this post
VIEW IN TELEGRAM
443
🟣 Диасофт приглашает к сотрудничеству ВУЗы и колледжи России и предлагает им особую академическую лицензию на Digital Q.DataBase, а также помощь в её интеграции в учебный процесс.

➡️ Если Вы или Ваши знакомые имеете какое-либо отношение к высшим учебным заведениям или организациям профессионального образования, то мы будем рады предложить Вам бесплатно использовать нашу академическую лицензию.

✅ В рамках этой лицензии Вы получаете возможность использования Digital Q.DataBase в своей внутрихозяйственной деятельности, а также для организации учебного процесса.
Первое означает, что Вы можете без каких-либо ограничений использовать нашу СУБД для работы с ней Ваших внутренних информационных систем. А второе, что студенты , проходящие у Вас обучение, могут свободно устанавливать нашу СУБД на личную технику или использовать её в компьютерных классах для того, чтобы овладевать навыками использования российских баз данных.

✅ Мы также предлагаем Вам возможность использования нашего уже готового учебного курса по основам современных баз данных, и методические материалы к нему, в том числе программу семинарских занятий и лабораторных работ.

🙌 Мы будем рады, если наша СУБД и эти материалы позволят Вам подготовить профессионалов в области российского системного ПО.
Please open Telegram to view this post
VIEW IN TELEGRAM
886
This media is not supported in your browser
VIEW IN TELEGRAM
522
Уважаемые подписчики!

🟣 10 марта прошел вебинар «Digital Q.DataBase: современный путь перехода с MS SQL Server и Oracle», посвященный анонсу функциональных возможностей новых версий Digital Q.DataBase.

Если по техническим причинам вы не смогли познакомиться с выступлением Андрея Жуйкова, полную версию доклада можно посмотреть здесь:
🎙 Смотреть запись вебинара

В ролике рассмотрены следующие вопросы:

✅ Переход с Oracle и MS SQL без переписывания кода.
Миграция корпоративных систем на Digital Q.DataBase с сохранением логики и SQL-кода.

✅ Знакомство с Digital Q.DataBase.
Архитектура, ключевые преимущества и области применения.

✅ Новые DBMS-пакеты в Digital Q.DataBase.
Расширение списка поддерживаемых аналогов DBMS-пакетов Oracle, позволяющих упростить перенос PL/SQL-кода на Digital Q.DataBase.

✅ Digital Q.CDC.
Механизм синхронизации изменений из баз под управлением СУБД Oracle, MS SQL Server и PostgreSQL в Digital Q.DataBase.

✅ Аналог функциональности Service Broker из MS SQL Server в Digital Q.DataBase.
Представление возможностей и примеры использования.

✅ История успеха.
Как крупная система на Oracle была переведена на Digital Q.DataBase без изменений в исходном коде.

🟣 Смотреть запись

Приятного просмотра!
Please open Telegram to view this post
VIEW IN TELEGRAM
654
➡️ Станем лучше вместе! Дорогие подписчики, нам нужна Ваша помощь

✅ Канал растет, и мы хотим, чтобы контент оставался для Вас актуальным и качественным. Чтобы понимать, в какую сторону двигаться дальше, мы подготовили небольшой опрос.

✅ Поделитесь своим мнением:
— Всё ли нравится в нашей работе?
— О чем еще Вы хотели бы читать?
— Какие рубрики стоит добавить или убрать?

⬇️ Пройти опрос можно по ссылке ниже. Нам очень важна Ваша поддержка и честная критика

🟣 ПРОЙТИ ОПРОС (https://forms.yandex.ru/u/69b5400784227c43d03855f2)
Please open Telegram to view this post
VIEW IN TELEGRAM
755
🟣 Друзья, мы развиваемся! Клиентов и проектов миграции с зарубежных СУБД становится все больше. Также растет число пользователей, скачавших бесплатную версию нашей СУБД.

✅ Под этот рост нам согласовали расширение: мы ищем еще 10 новых разработчиков. Преимущественно  речь идет о программистах, способных ориентироваться в коде на С и писать на С++. Именно их усилиями, в основном, и прирастает функциональность нашей СУБД.

✅ Если в Вашем окружении есть такие, то попросите их связаться с нами (можно через форму обратной связи у нас на сайте) и мы передадим их контакты нашим HR.

✅ Также мы будем рады дальнейшему увеличению числа наших подписчиков, клиентов, пользователей бесплатной версии.

✅ Если среди Ваших знакомых есть люди, которым интересно использование мультимодальной СУБД с поддержкой трех самых популярных SQL-диалектов:  MS SQL, Oracle и PostgreSQL, но которые еще не знают про нас, предложите им:

➡️Подписаться на наш канал в Макс или в Телеграм:

https://max.ru/join/orlthIssLJbjj37mjlEEYARWFyuJk5yMixLlGPISIzc

https://t.me/dqdatabase

➡️ Скачать с нашего сайта database.diasoft.ru бесплатную версию СУБД Digital Q.DataBase.

➡️Посмотреть видео с наших вебинаров:
https://rutube.ru/video/3558edf394150eb776fa827fb4307c61/

https://rutube.ru/video/1c22385c211161c8e7baba970e1804db/

✅ Нам очень важно, чтобы как можно больше людей в нашей стране узнали, что есть альтернативный путь полному переписыванию прикладных решений для ухода с Oracle или Microsoft SQL Server на российскую СУБД. Будем искренне признательны если Вы порекомендуете нас своим друзьям и знакомым!
Please open Telegram to view this post
VIEW IN TELEGRAM
765
СУБД Digital Q.DataBase pinned «➡️ Станем лучше вместе! Дорогие подписчики, нам нужна Ваша помощь ✅ Канал растет, и мы хотим, чтобы контент оставался для Вас актуальным и качественным. Чтобы понимать, в какую сторону двигаться дальше, мы подготовили небольшой опрос. ✅ Поделитесь своим…»
🟣 Уважаемые подписчики! Сегодня я хочу напомнить Вам, что Ваши вопросы по работе на Digital Q.DataBase, Ваши пожелания по развитию продукта, а также информацию о выявленных Вами ошибках в работе продукта,  Вы можете направлять на наш электронный адрес службы поддержки: supportqdb@diasoft.ru

✅ Наши специалисты будут рады помочь Вам в освоении нашей СУБД и переходе на неё с зарубежных СУБД.

✅ Для тех клиентов, у которых заключен с нашей компанией договор сопровождение действует строгий SLA на предоставление ответов и консультаций.

✅ Прочие запросы обрабатываются по мере возможности и в порядке их поступления.
Please open Telegram to view this post
VIEW IN TELEGRAM
643
Дорогие подписчики!

🟣 Продолжаем серию публикаций о новых функциональных возможностях Digital Q.DataBase. Сегодня расскажем о поддержке типа данных hierarchyid, реализованной в нашей СУБД.

✅ Для чего предназначен hierarchyid

При проектировании информационных систем часто возникает потребность в хранении и обработке иерархических структур: организационно-штатные расписания, каталоги товаров, классификаторы, технологические карты и т.п. Традиционный подход с использованием рекурсивных связей "внешний ключ на самого себя" работает, однако требует написания громоздких рекурсивных запросов и не всегда обеспечивает приемлемую производительность при работе с глубокими иерархиями.

✅ В MS SQL Server для решения подобных задач был введен тип данных hierarchyid, который позволяет:

➡️Компактно хранить информацию о положении узла в иерархии;
➡️Выполнять навигацию по дереву с помощью встроенных методов;
➡️Эффективно получать поддеревья без использования рекурсивных CTE.

✅ В PostgreSQL существует схожее расширение ltree, однако его семантика и синтаксис отличаются от MS SQL Server.

✅ При разработке Digital Q.DataBase мы выбрали путь максимального сохранения совместимости с существующими приложениями, работающими с T-SQL, поэтому реализовали поддержку hierarchyid в полном соответствии с оригиналом.

⬇️Примеры использования

Рассмотрим базовые операции с типом hierarchyid на практических примерах:

Сортировка иерархических данных
select cast('/1.2/2/' as hierarchyid) t union
select cast('/1000.500/200/' as hierarchyid) union
select cast('/1.4/-2/' as hierarchyid) union
select cast('/3.1/2/' as hierarchyid)
order by t
GO

Результат сортируется в порядке обхода дерева сверху вниз и слева направо.

Определение уровня вложенности
declare @id1 hierarchyid = '/25/33/11/'
select @id1.GetLevel()
GO
-- Возвращает 3


Получение предка
DECLARE @id hierarchyid = '/1000.500/200/1/'
select @id.GetAncestor(2).ToString()
GO
-- Возвращает '/1000.500/'


Проверка принадлежности поддереву
declare @id1 hierarchyid = '/1/2/3/4/5/6/7/8/',
@id2 hierarchyid = '/1/2/3/4/'
select @id1.IsDescendantOf(@id2)
GO
-- Возвращает 1 (истина)


Перемещение поддерева
declare @id1 hierarchyid = '/2/2/4/4/',
@id2 hierarchyid = '/2/2/4/',
@id3 hierarchyid = '/1/'
select @id1.GetReparentedValue(@id2,@id3).ToString()
GO
-- Новый путь: '/1/4/'


Вставка нового узла между существующими
declare @id1 hierarchyid = '/2/',
@id2 hierarchyid = '/2/4.5.-1/',
@id3 hierarchyid = '/2/7/'
select @id1.GetDescendant(@id2, @id3).ToString()
GO
-- Генерирует путь, гарантированно расположенный между указанными узлами


✅ Значение для пользователей Digital Q.DataBase

Реализация типа данных hierarchyid в Digital Q.DataBase обеспечивает возможность переноса существующих информационных систем, использующих данный механизм, без необходимости изменения прикладного кода и схем данных. Это особенно важно для проектов по импортозамещению, где критически важным является сохранение инвестиций в уже разработанное программное обеспечение.

✅ При переходе на Digital Q.DataBase с MS SQL Server достаточно выполнить перенос баз данных с помощью штатного Мастера переноса — все объекты, использующие тип hierarchyid, продолжат функционировать в штатном режиме.
Please open Telegram to view this post
VIEW IN TELEGRAM
754
✅ Дорогие подписчики!

Информирую Вас о том, что на сайте database.diasoft.ru выложен обновленный пакет для возможности запуска CLR-сборок на Astra Linux 1.8 из нашей эмуляции MS SQL Server. Данный пакет предназначен для использования в связке с Digital Q.DataBase версии 17.4 и выше.
Please open Telegram to view this post
VIEW IN TELEGRAM
776
🔥Стоит ещё раз подчеркнуть важную мысль: переход на российскую СУБД не обязательно означает полное переписывание системы.

До сих пор многие не воспринимают это как реальную возможность.
Крупные системы на Oracle или Microsoft можно переводить иначе. Без многолетней переработки всего кода.
Достаточно перенести данные и изменить настройки.

При этом важно понимать условие: такой подход работает, если выбранная СУБД изначально к этому подготовлена.
В ней должны быть реализованы необходимые доработки для совместимости, включая клонирование функциональности систем Microsoft и Oracle.

Традиционный путь — это огромные команды разработчиков, длительная проверка корректности переписанного кода, принятие сложных архитектурных решений.
Более того, в процессе такого переписывания зачастую приходится менять саму архитектуру системы и фактически перестраивать её заново.

🎯 Мы предлагаем другой подход.
В нашем подходе меняется само представление о миграции: не обязательно адаптировать приложение под PostgreSQL. Можно пойти другим путём, реализовать в СУБД функциональность, совместимую с зарубежными системами.

🎯 Если бы такой подход начали применять раньше, страна могла бы сэкономить колоссальные ресурсы.

Речь идёт о миллиардах рублей, которые уже ушли и продолжают сегодня уходить на переписывание систем.

🇷🇺 СУБД Digital Q.DataBase.
Подпишись на МАХ канал!
Please open Telegram to view this post
VIEW IN TELEGRAM
632
Друзья, Digital Q.DataBase позволяет Вам не только сохранить прикладную логику СУБД Microsoft и Oracle.

🟣В связке с другим нашим продуктом, предназначенным для замены SAP NetWeaver, Вы получаете возможность уйти от использования продуктов SAP без переписывания систем и без переписывания бизнес-логики.

Что это означает на практике:

🟣ABAP-приложения продолжают работать на новой платформе
🟣Данные и обработка переносятся в Digital Q.DataBase
🟣Вся бизнес-логика сохраняется без изменений
🟣Формируется импортонезависимый стек из отечественного ПО

🎯В этом видео:
ABAP-код → сохранение → активация → преобразование в C++ → компиляция → установка на сервер → запуск

Видео на RuTube

Также наш отдельный лендинг для этого решения

🇷🇺 СУБД Digital Q.DataBase.
Подпишись на МАХ канал!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5221
Дорогие подписчики!

🟣 Продолжаем знакомить вас с новыми возможностями Digital Q.DataBase. Сегодня расскажем о поддержке агрегатной функции CHECKSUM_AGG, реализованной в нашей СУБД.

✅ Для чего предназначена CHECKSUM_AGG

При разработке информационных систем нередко возникает задача контроля целостности данных или обнаружения изменений в наборе строк. Классические подходы — сравнение содержимого таблиц построчно или по значениям отдельных столбцов — могут быть ресурсоемкими и требовать передачи больших объемов данных.

✅ В MS SQL Server для этих целей существует функция CHECKSUM_AGG, которая вычисляет контрольную сумму для всех значений указанного столбца в результирующем наборе строк. Это позволяет:

➡️ Быстро определять, изменились ли данные в таблице после выполнения операций вставки, обновления или удаления;
➡️ Сравнивать содержимое двух таблиц или выборок без необходимости полного перебора записей;
➡️ Контролировать неизменность данных в процессе репликации или передачи между системами.

✅ При разработке Digital Q.DataBase мы обеспечили полную совместимость реализации CHECKSUM_AGG с оригинальным синтаксисом MS SQL Server, что позволяет использовать существующий код без модификаций.

Принцип работы

Функция CHECKSUM_AGG может применяться как ко всем значениям столбца, так и только к уникальным (с использованием ключевого слова DISTINCT). Рассмотрим базовые примеры:

Вычисление контрольной суммы для всего набора значений

select checksum_agg(t) 
from
(values(1),(30),(2),(2),(4),(50),(6)) A(t)

Результатом будет целочисленное значение, представляющее контрольную сумму всех семи элементов.

Вычисление контрольной суммы только для уникальных значений

select checksum_agg(distinct t) 
from
(values(1),(30),(2),(2),(4),(50),(6)) A(t)


В этом примере значение 2 присутствует в исходном наборе дважды, но в расчет контрольной суммы попадет только один раз.

Практический пример контроля изменений

Наиболее востребованный сценарий использования CHECKSUM_AGG — отслеживание модификаций данных в таблице:

-- Создаем тестовую таблицу
CREATE TABLE #TestTable (
ID int IDENTITY(1,1) PRIMARY KEY,
Value int
);

-- Наполняем таблицу несколькими значениями
INSERT INTO #TestTable (Value) VALUES (10);
INSERT INTO #TestTable (Value) VALUES (20);
INSERT INTO #TestTable (Value) VALUES (30);
INSERT INTO #TestTable (Value) VALUES (40);
INSERT INTO #TestTable (Value) VALUES (50);

-- Выводим исходные данные
SELECT * FROM #TestTable;

-- Вычисляем контрольную сумму всех значений в столбце Value
SELECT CHECKSUM_AGG(Value) AS ControlSum
FROM #TestTable;

-- Изменяем одно из значений
UPDATE #TestTable SET Value = 25 WHERE ID = 3;

-- Проверяем измененные данные
SELECT * FROM #TestTable;

-- Снова вычисляем контрольную сумму — она будет отличаться от первоначальной
SELECT CHECKSUM_AGG(Value) AS ControlSumAfterChange
FROM #TestTable;

-- Очищаем временную таблицу
DROP TABLE #TestTable;


В данном примере после изменения значения с 30 на 25 контрольная сумма всего набора данных изменится, что сигнализирует о произошедшей модификации. Это позволяет без сложных запросов и сравнения каждой строки убедиться в том, что данные были обновлены.

Важные особенности

Следует учитывать, что функция CHECKSUM_AGG:


➡️ Не гарантирует уникальности: различные наборы данных теоретически могут дать одинаковую контрольную сумму (вероятность коллизии невысока, но существует);
➡️ Чувствительна к порядку строк, поэтому для сопоставимых результатов необходимо обеспечивать одинаковую сортировку данных;
➡️ Может применяться к столбцам различных числовых типов, а также к столбцам типа datetime и битовым полям.

Значение для пользователей Digital Q.DataBase

Реализация функции CHECKSUM_AGG в Digital Q.DataBase расширяет инструментарий для контроля целостности данных и упрощает миграцию существующих приложений. Разработчики, использующие в своем коде проверки контрольных сумм, могут быть уверены, что после переноса базы данных на Digital Q.DataBase вся логика работы сохранится полностью.

🇷🇺 СУБД Digital Q.DataBase.
Подпишись на МАХ канал!
Please open Telegram to view this post
VIEW IN TELEGRAM
544
release_notes_18.1.26032101.txt
8 KB
Уважаемые подписчики!

🟣 С радостью сообщаю Вам, что вчера, спустя два месяца непрерывной работы, мы выложили на сайт версию 18.1 нашей СУБД Digital Q.DataBase.

✅ Версия содержит много улучшений по сравнению с предыдущей версией 17.4, а также она собрана уже на базе 18 ядра PostgreSQL.

✅ Подробнее смотрите прилагаемый файл с перечнем доработок. И следите за нашими сообщениями - наиболее важные доработки мы описываем отдельными постами.
Ну а наш ближайший выпуск будет посвящен процедуре обновления.

🇷🇺 СУБД Digital Q.DataBase.
Подпишись на МАХ канал!
Please open Telegram to view this post
VIEW IN TELEGRAM
743
This media is not supported in your browser
VIEW IN TELEGRAM
433
Уважаемые подписчики!

🟣 Как Вам уже известно, мы обновили версию Digital Q.DataBase на сайте database.diasoft.ru и теперь у вас есть возможность перейти с версии 17.04 на 18.01.

➡️ Обратите внимание: поскольку версии работают на разных версиях ядра PostgreSQL, у этого обновления есть особенности. Они хорошо знакомы тем, кто давно работает с PostgreSQL, но могут быть новыми для пользователей, переходящих с Oracle или MS SQL.

➡️ Если у вас уже установлена Digital Q.DataBase 17.4 и вы хотите обновиться до версии 18.1, выполните следующие шаги:

1. Скачайте обновленную версию с сайта: database.diasoft.ru

2. Установите новую версию командой:
sudo apt install ./имя_пакета
Новая версия установится параллельно с предыдущей. Данные прошлой версии будут сохранены, но в новой версии этих баз по умолчанию нет.

3. Чтобы перенести базы данных в новую версию, запустите pg_upgrade.
После завершения работы утилиты все ваши базы данных будут перенесены.
Запуск производится командой:
sudo ./run_pg_upgrade.sh

Подробная инструкция по обновлению включена в архив с пакетом для вашей ОС на сайте: database.diasoft.ru.
Please open Telegram to view this post
VIEW IN TELEGRAM
543
Дорогие подписчики!

🟣 Продолжаем серию публикаций о функциональных возможностях Digital Q.DataBase. Сегодня расскажем о расширении поддержки контекста выполнения процедур — механизмах EXECUTE AS и REVERT.

✅ Для чего нужны EXECUTE AS и REVERT

В многопользовательских информационных системах управление доступом к данным — одна из ключевых задач. Часто возникает необходимость предоставить пользователю возможность выполнять определенные операции, не наделяя его прямыми правами доступа к таблицам или схемам данных. Классический подход — использование хранимых процедур, которые выполняются от имени владельца или специального учетного пользователя, имеющего необходимые привилегии.

✅ В MS SQL Server для этих целей предусмотрены механизмы смены контекста выполнения:

➡️EXECUTE AS — позволяет задать пользователя, от имени которого будет выполняться хранимая процедура, функция или пакет;
➡️ REVERT — возвращает исходный контекст выполнения после завершения операций, требовавших повышенных привилегий.

✅ При разработке Digital Q.DataBase мы расширили поддержку этих механизмов, обеспечив корректную работу смены контекста на различных уровнях вложенности и возможность возврата к исходному контексту.

Как это работает

Механизм EXECUTE AS может применяться на уровне отдельных модулей (хранимых процедур, функций, триггеров) либо в рамках сеанса работы с базой данных. Наиболее распространенный сценарий использования выглядит следующим образом:

-- Создание процедуры, которая выполняется от имени владельца схемы
CREATE PROCEDURE dbo.UpdateEmployeeData
WITH EXECUTE AS OWNER
AS
BEGIN
-- Операции обновления данных, требующие повышенных прав
UPDATE Employees SET LastAccessDate = GETDATE() WHERE EmployeeID = 100;
END

В этом примере пользователь, вызывающий процедуру, может не иметь прямых прав на изменение таблицы Employees, но благодаря смене контекста операция становится доступной.

Для более тонкого управления контекстом внутри процедуры используются команды EXECUTE AS USER и REVERT:

CREATE PROCEDURE dbo.CrossSchemaOperation
AS
BEGIN
-- Выполняем часть операций от имени текущего пользователя
INSERT INTO UserLog (UserID, Action) VALUES (SYSTEM_USER, 'Start operation');

-- Переключаем контекст на служебного пользователя
EXECUTE AS USER = 'ServiceAccount';

-- Выполняем операции, требующие специальных прав
UPDATE SensitiveData SET Processed = 1 WHERE BatchID = 100;

-- Возвращаем исходный контекст
REVERT;

-- Продолжаем выполнение от имени исходного пользователя
INSERT INTO UserLog (UserID, Action) VALUES (SYSTEM_USER, 'Operation completed');
END


Расширение функциональности в Digital Q.DataBase

В новой версии Digital Q.DataBase поддержка EXECUTE AS и REVERT приведена к уровню, обеспечивающему:

➡️ Корректную обработку вложенных смен контекста (возможность выполнения REVERT на любом уровне вложенности);
➡️ Поддержку различных вариантов указания субъекта (OWNER, CALLER, USER = 'имя', SELF);
➡️ Сохранение контекста выполнения при вызове вложенных процедур и функций;
➡️ Совместимость с существующим синтаксисом T-SQL, используемым при работе с MS SQL Server.

✅ Значение для пользователей Digital Q.DataBase

Расширение поддержки EXECUTE AS и REVERT позволяет:

➡️ Переносить существующие хранимые процедуры, использующие смену контекста, без изменения логики их работы;
➡️ Реализовывать модели безопасности, в которых конечные пользователи не наделяются избыточными правами доступа к данным;
➡️ Создавать гибкие схемы разграничения доступа, где привилегии назначаются на уровне процедур, а не отдельных пользователей.

✅ Для администраторов баз данных это означает, что при переходе на Digital Q.DataBase не потребуется пересматривать и перестраивать существующие модели безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
644