Построенный запрос к СУБД использует слишком много таблиц #784610


#0 by lamme
Построенный запрос к СУБД использует слишком много таблиц. Допустимо не более 256. Microsoft OLE DB Provider for SQL Server: Слишком много имен таблиц в запросе. Максимально допустимое значение - 256.
#1 by lamme
пардон ... не заполнил все входящие услвоия. 1С8 отчет. один юзер может его делать у другого - выходит вот это вот сообщение. кеш чистил - не помогает. от учетной записи на сервере (работа через терминал) - не зависит. в чем трабл ?
#2 by azernot
RLS у второго пользователя ограничены права. И ограничены как-то криво, что в итоге количество таблиц в запросе больше 256
#3 by Господин ПЖ
переползайте на sql сервер повыше. или rls убирайте + "составные" поля
#4 by shuhard_серый
+ 1 лет 7 как MS SQL не страдает этой болезнью
#5 by Живой Ископаемый
2 помочь с чем?
#6 by lamme
2 RLC да. но как понять - криво ограничены и на какую таблицу там запрос трехэтажный .. много документов выбирается по регистру все просматривать что ль права?
#7 by lamme
обращение к регистру у него измерение Док = ДокументСсылка в этом может быть косяк? работало всегда пока не добавил поле - <Регистр>.Док.Дата
#8 by skeptik_m
Скорее всего на пользователя навешано очень много ролей сразу (с разными RLS, которые в итоге складываются). Вы можете попробовать: 1) Уменьшить число ролей навешанных на пользователя. 2) Упростить запрос 3) Перейти на SQL 2008/2012/2014 - там такой проблемы вообще нет (SQL 2005 с сервис паками, кажется, тоже хватит, но точно не уверен). 4) А еще можно при построении отчета выполнить запрос в привелегированном режиме (при этом RLS использоваться не будут). > пока не добавил поле <Регистр>.Док.Дата И поле Док у Вас, естественно, составного типа :-) При использовании такой конструкции происходит соединение со всеми таблицами документов ссылки на которые могут быть в этом поле. А к ним еще (неявно для написавшего запрос) соединяются таблицы используемые в RLS.
#9 by lamme
попробуем привелигированный режим
#10 by dmpl
Именно в этом проблема: пока не обращаешься через точку - Док просто ссылка. Как только ставишь точку - идет неявное соединение со всеми таблицами документов. Используй ВЫРАЗИТЬ совместно с КОГДА Док ССЫЛКА, чтобы соединение шло только с 1 таблицей.
#11 by dmpl
Переход на новый SQL - это сокрытие проблемы. Проблему надо решать. Либо ограничивая число типов в регистре, либо через ВЫРАЗИТЬ, либо добавив эту дату в регистр чтобы не ползать за ней в документы (что в первом приближении примерно то же самое что строить отчет по документам). А то потом будут жалобы "а чего этот RLS тормозит?".
#12 by lamme
взлетел привелигированный режим спасибо
#13 by lamme
а это как? выразить дату документа ... туплю
#14 by ИсчадиеADO
разбить на несколько вт как вариант
#15 by ИсчадиеADO
добавиться у тебя еще неск видов доков к типу все ссылки документов, и отключение рлс не поможет
#16 by ИсчадиеADO
"отчет. один юзер может его делать " как-то выполнять запрос для отчета в привилегированном - чета не то, мне кажется
#17 by dmpl
Типа так:
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С