Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Shared Memory Provider / 5 сообщений из 5, страница 1 из 1
30.10.2018, 12:48
    #39724898
LtColombo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Shared Memory Provider
Привет всем!

Конфиг: MSSQL 2017, windows server 2016

Имеется запрос вида:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
 WITH XMLNAMESPACES (...),
    
    EFPurchaseList ( purchaseNum ) as (
    SELECT DISTINCT
    	table.fst.value('(...) [1]', 'nvarchar(max)')
    FROM table
    	CROSS APPLY table.fst.nodes('.../.[1]') nodes(setting)
    WHERE nodes.setting.value('(...) [1]', 'nvarchar(max)') = 'value'),
    
    ApplicationList (purchaseNum,   lotNum, journalNum, participantType, inn, kpp, orgn, idNumber, countryCode, countryFullName, [status]) as (
    SELECT DISTINCT
    	secondTable.fst.value('(...) [1]', 'nvarchar(max)'),
    	'1',
    	nodes.setting.value('(...) [1]', 'nvarchar(max)'),
    	nodes.setting.value('(...) [1]', 'nvarchar(max)'),
    	nodes.setting.value('(...) [1]', 'nvarchar(max)'),
    	nodes.setting.value('(...) [1]', 'nvarchar(max)'),
    	nodes.setting.value('(...) [1]', 'nvarchar(max)'),
    	nodes.setting.value('(...) [1]', 'nvarchar(max)'),
    	nodes.setting.value('(...) [1]', 'nvarchar(max)'),
    	nodes.setting.value('(...) [1]', 'nvarchar(max)'),
    	nodes.setting.value('(...) [1]', 'nvarchar(max)')
    FROM secondTable
    CROSS APPLY secondTable.fst.nodes('.../.[1]') nodes(setting)
    ),
    
    suppliersList (purchaseNumber, lotNum, journalNum, participantType, inn, kpp, ogrn, idNumber, countryCode, countryFullName, [status], pN) as (
    SELECT *
    FROM ApplicationList INNER JOIN EFPurchaseList on EFPurchaseList.purchaseNum = ApplicationList.purchaseNum)
    
    SELECT suppliersList.inn, count(suppliersList.inn) FROm suppliersList GROUP BY suppliersList.inn



* - `...` написано за место пути.

В процессе выполнения запроса вылезает ошибка:

авторСообщение 109, уровень 20, состояние 0, строка 0
Ошибка на транспортном уровне при получении результатов с сервера. (provider: Shared Memory Provider, error: 0 - Канал был закрыт.)


Судя по файлам трассировки, достаточно часто случаются циклы Audit logout и Audit login

Последняя часть лога перед ошибкой (картинка):



Не знаю, как лучше приложить файл лога, если это, конечно, нужно.

Как избавиться от данной ошибки и из-за чего она происходит?
...
Рейтинг: 0 / 0
30.10.2018, 12:55
    #39724903
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Shared Memory Provider
LtColomboКак избавиться от данной ошибкиУстановить последний CU
...
Рейтинг: 0 / 0
30.10.2018, 14:25
    #39724962
LtColombo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Shared Memory Provider
К сожалению, не помогло
...
Рейтинг: 0 / 0
30.10.2018, 14:56
    #39724988
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Shared Memory Provider
LtColombo,

Ошибка говорит, что это внутренняя проблема при выполнении запроса, т.е. какой-то баг.
Если фиксы не помогли, то придется упрощать запрос, разбивая его на фрагменты и помещая промежуточные результаты во временные таблицы.
...
Рейтинг: 0 / 0
30.10.2018, 18:33
    #39725200
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Shared Memory Provider
Если память не изменяет, ошибка может появиться при достаточно большом объеме данных, превышающем размеры какого-то там буфера. В этом случае надо перейти на использование IP подключения.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Shared Memory Provider / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]