|
09.12.2013, 12:54 | #1 |
Участник
|
drop table
Коллеги!
Ax 2012 R2. С недавних пор возникла следующая проблема. Время от времени при различных обстоятельствах (многочисленные селекты, инсерты, сохранение в АОТ и пр) возникает в Sql сервере процесс который запускает многократные операции Drop Table на tempDb, что приводит к зависанию Ax. Сначало это проявилось на рабочем приложении, а потом через некоторое время на тестовом и девелоперском. Кто-нибудь сталкивался ли с подобным и как это можно вылечить? возможно на это влияют какие-то настойки на Sql сервере |
|
10.12.2013, 00:35 | #2 |
Banned
|
Возможно просто начала задействоваться бизнес-логика где используются такие временные таблицы.
Temporary TempDB Tables http://msdn.microsoft.com/en-us/library/gg845661.aspx Если приложение чистое это одно а если есть кастомизации то надо их смотреть в первую очередь. Если же чистое то наверно надо смотреть свободное дисковое пространство и память то есть мониторить ресурсы сервера. Проверить соответствие минимальным требованиям. IMHO |
|
10.12.2013, 14:54 | #3 |
Участник
|
сохранение измененного элемента АОТ не задействует бизнес логику
Последний раз редактировалось ice; 10.12.2013 в 14:58. |
|
11.12.2013, 09:47 | #4 |
Участник
|
А откуда вы взяли, что именно DROP TABLE? Это ведь удаление таблицы полностью, так сказать ко всем чертям))) Не проще ли использовать TRUNCATE TABLE? Возможно ли, что у вас в функционале реализовано программное удаление и создание таблиц, причем эти таблицы просто являются временными? Я думаю надо рыть в эту сторону.
__________________
// no comments |
|
11.12.2013, 10:00 | #5 |
NavAx
|
Так вроде это всегда было частью процесса модификации схемы данных. Достаточно длину EDT поменять, чтобы несколько таблиц пересоздались.
__________________
Isn't it nice when things just work? |
|
11.12.2013, 12:33 | #6 |
Участник
|
наблюдаю в Management Studio
кому проще? функционал не вызывает данную операцию стандартный функционал. например, происходит редактирование строки заказа на покупку, созданной из заявки на покупку. при этом происходит сохранение истории по заявке на покупку (1000+ строк). в этот момент клиент виснит, смотрим MS, там появился процесс с DROP TABLE в TempDB |
|
11.12.2013, 18:21 | #7 |
Участник
|
пример:
Цитата:
DROP TABLE tempdb."DBO".t3282_8BBC272770424B1B974AE82DA64ADBA9
|
|
27.01.2014, 09:55 | #8 |
Участник
|
Выяснил откуда ноги растут
Оказывается, как не удивительно, что причиной является создание этих самых таблиц в TempDb. А создаются они благодаря некой ошибке в ядре системы: при выключении неиспользуемой функциональности с помощью конфигурационных ключей, таблицы из базы SQL не удаляются. В коде по ним происходит селект, и вот тут то и проявляется удивительная вещь, происходит создание таблицы в TempDb. такие таблицы накапливаются, затем происходит их чистка, т.е. те самые Drop Table Пока обнаружил 2 таких конфигурационных ключа: Markup, LedgerAdv2BudgetCtrl Последний раз редактировалось ice; 27.01.2014 в 09:58. |
|
|
За это сообщение автора поблагодарили: mazzy (2), fed (3), trud (3), Logger (3), ivas (1), S.Kuskov (2). |
27.01.2014, 15:43 | #9 |
Участник
|
Цитата:
Цитата:
я пока только markup нашел. ================= про drop. временные таблицы в tempdb часто и безосновательно используются, если у таблицы указано свойство tableType = tempDB. на мой взгляд, обязательно надо переключать в inMemroy следующие теблицы MarkupTmpAllocation, MarkupTmpMaxAmountValidation AccountingDistributionEventTmp AccountingDistributionTmpJournalize AccountingDistributionTmp AccountingDistributionTmpTax пытаюсь разобраться с SubledgerBondMapTmp SubledgerBondTmp но с ними не так просто... |
|
27.01.2014, 15:59 | #10 |
Участник
|
|
|
27.01.2014, 16:19 | #11 |
Боец
|
Цитата:
Сообщение от ice;
...при выключении неиспользуемой функциональности с помощью конфигурационных ключей, таблицы из базы SQL не удаляются.
Цитата:
Сообщение от mazzy;
ошибка ли это? ведь в разных partition могут быть разные конф.ключи.
|
|