|
RLS средствами SQL |
☑ |
0
Антиквар
30.07.23
✎
23:29
|
Всем привет!
Есть очень большая и тормознутая база 1С, в которой для некоторых пользователей требуется ограничить доступ к некоторым физлицам. Точнее наоборот, никто не должен видеть данные и ЗП небольшого круга физлиц, кроме пары расчетчиц.
RLS использовать не хочется по причине того, что производительность ещё больше пострадает.
Есть ли вариант сделать ограничение на уровне SQL, может был у кого опыт?
Грубо говоря нужно в MS SQL навесить какие-то ограничения на записи или поля таблиц в зависимости от того, какой пользователь вошел в систему.
Проблема тут ещё в том, что 1С ходит в SQL под одной учеткой, другого не дано, соответственно на стороне SQL все пользователи одинаковые, одна и та же учетка. Можно конечно определить из какой-то таблицы текущего пользователя 1С, но это не будет пользователь SQL и соответственно никак не наложить для него ограничения.
Плюс непонятно как определить различные регламентные операции, которые сам сервер 1С выполняет.
Я в SQL не силён, это просто как идея, хочу проконсультироваться, есть ли в этой идее вообще какой-то смысл.
|
|
1
Zamestas
30.07.23
✎
23:41
|
(0) Идея изначально бредовая. Конфигурация то какая и какой размер базы?
|
|
2
RomanYS
30.07.23
✎
23:46
|
(0) смысла нет. Не хочешь РЛС, делай расчёт в отдельной базе
|
|
3
Антиквар
31.07.23
✎
12:09
|
(1) ЗУП, размер 250 Гб. Но дело даже не в размере, а в количестве рассчитываемых сотрудников и расчетчиков. Параллельная работа очень страдает.
Почему идея бредовая? Я конечно дилетантски рассуждаю, с SQL опыта мало, но там большие возможности по ограничению доступов. Если что, делать буду не я, есть админы, в этом понимающие, но они не понимают в 1С, и хотелось бы разобраться, стоит ли вообще в эту сторону смотреть
|
|
4
shuhard
31.07.23
✎
12:23
|
(3) [но там большие возможности по ограничению доступов]
это тебе DBA рассказали ?
|
|
5
Biker
31.07.23
✎
12:23
|
(3) 1. 1с работает под 1-м пользователем в sql,
2. в твоем случае в sql меньше чем на таблицу права для select пользователю не задать.
|
|
6
shuhard
31.07.23
✎
12:25
|
(5) +1
горизонтальное ограничение работает через вьюшки
|
|
7
mistеr
31.07.23
✎
12:31
|
Опыта такого не было, но по ощущениям не взлетит.
|
|
8
Biker
31.07.23
✎
12:35
|
(0) Транслируешь заказчику - Это работа стоит N-Рублей, где N-стоимость нового железа.
|
|
9
ejikbeznojek
31.07.23
✎
13:15
|
(0) По мне, нужно сделать RLS + провести ряд работ, чтобы база перестала так тормозить))
|
|
10
ТДК
31.07.23
✎
19:07
|
(0) RLS хорошо работает в 1С в том числе и на больших базах (на 3 TB проверял). Создай отдельную таблицу куда внесешь имя пользователя и физ.лицо на которое необходимо предоставить доступ. Сделай соединение с таблицей доступа, а также поставь условие на ТекущийПользователь.
|
|
11
Антиквар
31.07.23
✎
21:29
|
(6) ааа, вот наверное с чем я и перепутал. "Слышал звон" как говорится...
Ну вьюшки не вариант, конфа не самописная, ничего не получится (
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший