Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

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

Построенный запрос к СУБД использует слишком много таблиц
Я
   lamme
 
07.11.16 - 17:43
Построенный запрос к СУБД использует слишком много таблиц. Допустимо не более 256.
Microsoft OLE DB Provider for SQL Server: Слишком много имен таблиц в запросе. Максимально допустимое значение - 256.
HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=773
 
 
   lamme
 
1 - 07.11.16 - 17:44
пардон ... не заполнил все входящие услвоия.
1С8
отчет.
один юзер может его делать
у другого - выходит вот это вот сообщение.
кеш чистил - не помогает.
от учетной записи на сервере (работа через терминал) - не зависит.

в чем трабл ?
   azernot
 
2 - 07.11.16 - 17:47
RLS
у второго пользователя ограничены права. И ограничены как-то криво, что в итоге количество таблиц в запросе больше 256
   Господин ПЖ
 
3 - 07.11.16 - 17:53
переползайте на sql сервер повыше. или rls убирайте + "составные" поля
   shuhard_серый
 
4 - 07.11.16 - 18:32
(3) + 1
лет 7 как MS SQL не страдает этой болезнью
   Живой Ископаемый
5 - 07.11.16 - 19:08
2(0) помочь с чем?
   lamme
 
6 - 07.11.16 - 23:13
2
RLC да. но как понять - криво ограничены
и на какую таблицу
там запрос трехэтажный .. много документов выбирается по регистру
все просматривать что ль права?
   lamme
 
7 - 07.11.16 - 23:19
обращение к регистру
у него измерение Док = ДокументСсылка
в этом может быть косяк?

работало всегда
пока не добавил поле - <Регистр>.Док.Дата
   skeptik_m
 
8 - 07.11.16 - 23:26
Скорее всего на пользователя навешано очень много ролей сразу (с разными RLS, которые в итоге складываются). Вы можете попробовать:
1) Уменьшить число ролей навешанных на пользователя.
2) Упростить запрос
3) Перейти на SQL 2008/2012/2014 - там такой проблемы вообще нет (SQL 2005 с сервис паками, кажется, тоже хватит, но точно не уверен).
4) А еще можно при построении отчета выполнить запрос в привелегированном режиме (при этом RLS использоваться не будут).

> пока не добавил поле <Регистр>.Док.Дата
И поле Док у Вас, естественно, составного типа :-)
При использовании такой конструкции происходит соединение со всеми таблицами документов ссылки на которые могут быть в этом поле. А к ним еще (неявно для написавшего запрос) соединяются таблицы используемые в RLS.
   lamme
 
9 - 07.11.16 - 23:27
попробуем привелигированный режим
   dmpl
 
10 - 07.11.16 - 23:57
(7) Именно в этом проблема: пока не обращаешься через точку - Док просто ссылка. Как только ставишь точку - идет неявное соединение со всеми таблицами документов. Используй ВЫРАЗИТЬ совместно с КОГДА Док ССЫЛКА, чтобы соединение шло только с 1 таблицей.
 
 Рекламное место пустует
   dmpl
 
11 - 08.11.16 - 00:02
(8) Переход на новый SQL - это сокрытие проблемы. Проблему надо решать. Либо ограничивая число типов в регистре, либо через ВЫРАЗИТЬ, либо добавив эту дату в регистр чтобы не ползать за ней в документы (что в первом приближении примерно то же самое что строить отчет по документам). А то потом будут жалобы "а чего этот RLS тормозит?".
   lamme
 
12 - 08.11.16 - 00:13
(8)
взлетел привелигированный режим
спасибо
   lamme
 
13 - 08.11.16 - 00:14
(10)
а это как?
выразить дату документа ... туплю
   ИсчадиеADO
 
14 - 08.11.16 - 03:31
разбить на несколько вт как вариант
   ИсчадиеADO
 
15 - 08.11.16 - 03:32
(12) добавиться у тебя еще неск видов доков к типу все ссылки документов, и отключение рлс не поможет
   ИсчадиеADO
 
16 - 08.11.16 - 03:35
(1) "отчет.
один юзер может его делать "

как-то выполнять запрос для отчета в привилегированном - чета не то, мне кажется
   dmpl
 
17 - 08.11.16 - 11:50
(13) Типа так:

ВЫБРАТЬ
    ВЫРАЗИТЬ(Права.Документ КАК Документ.НашДокумент).Дата КАК ДатаДок
ИЗ
    РегистрСведений.ПраваДоступа КАК Права
    
ГДЕ
    Права.Документ ССЫЛКА Документ.НашДокумент


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует