DEPO: логину bj — роль db_datawriter (как на тесте); при обновлении и в первичной установке

Процедуры Фонтвьель, вызванные bj (FTV_M2M_JOB → EVENTS → UPDATE_HANDBOOK,
CREATE, OPERATION), пишут в таблицы Fancy правами логина bj. На 9 у bj_user
был только db_datareader — «Запрещено разрешение INSERT на объект
OD_OBJECTS» (событие HANDBOOK, 22.10.2026); упали бы и поручения M2M. На
тесте — db_datareader + db_datawriter.

Роль выдаётся в наборе «Применить скрипты» (права администратора БД; новый
отпечаток — плашка на установках), в скачиваемом скрипте процедур, в
скрипте логина и при подготовке трансферных таблиц (первичная установка).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
This commit is contained in:
fontvielle
2026-10-22 13:56:26 +03:00
parent 88985afe04
commit 7981105cec
4 changed files with 17 additions and 4 deletions
+6 -2
View File
@@ -51,8 +51,9 @@ ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO "%[2]s";
fmt.Fprintf(&b, `-- Bridge&Join: логин для bj в базе DEPO. Microsoft SQL Server.
-- Выполнить в SSMS или sqlcmd под логином с правами sysadmin (или securityadmin + db_owner в базе %[1]s).
-- Пароль — из поля мастера; если там пусто, замените ЗАМЕНИТЕ_НА_ПАРОЛЬ на свой. Скрипт с паролем не храните.
-- Права: только чтение учётных таблиц DEPO (db_datareader). Запись — только в таблицы обмена FTV_M2M*,
-- её выдаёт скрипт таблиц на следующем шаге мастера. Скрипт можно запускать повторно.
-- Права: чтение учётных таблиц DEPO (db_datareader) и запись (db_datawriter) — процедуры обработки M2M
-- (FTV_M2M_JOB и др.), которые вызывает bj, создают документы, операции и юрлица Fancy правами этого логина.
-- Таблицы обмена FTV_M2M* выдаёт скрипт таблиц на следующем шаге мастера. Скрипт можно запускать повторно.
USE [master];
GO
@@ -75,6 +76,9 @@ GO
IF IS_ROLEMEMBER(N'db_datareader', N'%[2]s') = 0 ALTER ROLE db_datareader ADD MEMBER [%[2]s];
GO
IF IS_ROLEMEMBER(N'db_datawriter', N'%[2]s') = 0 ALTER ROLE db_datawriter ADD MEMBER [%[2]s];
GO
`, db, login, pw)
return b.String()
}