|
|
|
Утечка памяти? #15665 Значение ключа "name" не было задано..превысил бы ограничение в 1 МБ
|
|||
|---|---|---|---|
|
#18+
Приветствую! При использовании sp_set_session_context/SESSION_CONTEXT на нашем продуктиве регулярно стала появляться ошибка (из сабжа). При попытке её повторить выяснил как она появляется. Если вызвать любой подобный "тепличный" код из Microsoft SQL Server Management Studio , то всё будет замечательно : Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Но! Если это сделать вот таким кодом из клиента (пример на PowerShell для ясности), то легко добиться ошибки : Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Результат из PSi = 1000; i = 2000; ERROR Code = 15665 Исключение при вызове "ExecuteNonQuery" с "0" аргументами: "Значение ключа "context_debug" не было задано, так как общий размер ключей и значений в контексте сеанса превысил бы ограничение в 1 МБ." Last i = 2820 PS C:\Scripts> Ключевой момент: Для повторяемости ошибки должен быть вызов обнуления контекстной переменной отдельной командой! Первичное присвоение значения на ошибку не влияет. В реальности переменные присваиваются в процедурах, многие из них не очищать не могу :( Проверял на <= SQL Server 2016 (SP1-CU6) (KB4037354) - 13.0.4457.0 и SQL Server 2017 (RTM) - 14.0.1000.169 Похоже есть какая-то утечка в SQL Server при обнулении сессионных переменных :( Может кто-то знает как обойти эту беду? Диагностические запросы, наподобие Код: sql 1. никаких утечек не показывают :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 14:09:30 |
|
||
|
Утечка памяти? #15665 Значение ключа "name" не было задано..превысил бы ограничение в 1 МБ
|
|||
|---|---|---|---|
|
#18+
https://connect.microsoft.com/SQLServer/feedback/details/3133017 Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 14:23:36 |
|
||
|
Утечка памяти? #15665 Значение ключа "name" не было задано..превысил бы ограничение в 1 МБ
|
|||
|---|---|---|---|
|
#18+
Спасибо AlanDenton! Пустые кавычки испробовал сразу, НО из-за того что критические переменные у меня типа datetimeoffset и int, то обнуление через КАВЫЧКИ не работает :(. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Результат:10000 context_debug=2017-12-04 13:39:47.3968753 +02:00 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 14:42:00 |
|
||
|
Утечка памяти? #15665 Значение ключа "name" не было задано..превысил бы ограничение в 1 МБ
|
|||
|---|---|---|---|
|
#18+
Andret, а что мешает время кастовать к строке? Не спорю что костыль, но вариант рабочий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 14:44:30 |
|
||
|
Утечка памяти? #15665 Значение ключа "name" не было задано..превысил бы ограничение в 1 МБ
|
|||
|---|---|---|---|
|
#18+
AlanDenton, Вы правы, придется что-то такое мутить:/ - несколько десятков процедур с логикой есть, плюс есть ещё своя автоматика, где теперь тип учитывать придётся ... ломать совсем не охота :( Думал, может что-то волшебное у Код: c# 1. найдётся; перепробовал разные опции с Pool, MARS, .. но всё это как мёртвому припарка :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 15:01:26 |
|
||
|
Утечка памяти? #15665 Значение ключа "name" не было задано..превысил бы ограничение в 1 МБ
|
|||
|---|---|---|---|
|
#18+
Andret, ничего хитрого не будет - самое лучшее решение ANSI строки в SESSION_CONTEXT хранить. Меньше проблем будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 15:09:28 |
|
||
|
Утечка памяти? #15665 Значение ключа "name" не было задано..превысил бы ограничение в 1 МБ
|
|||
|---|---|---|---|
|
#18+
AlanDentonAndret, ничего хитрого не будет - самое лучшее решение ANSI строки в SESSION_CONTEXT хранить. Меньше проблем будет+1 ЗЫ а почему не binary? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 15:16:11 |
|
||
|
Утечка памяти? #15665 Значение ключа "name" не было задано..превысил бы ограничение в 1 МБ
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. легкий изврат, но все же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2017, 15:17:07 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39563766&tid=1690760]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
4ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 195ms |
| total: | 324ms |

| 0 / 0 |
