Показать сообщение отдельно
Старый 09.08.2016, 08:45   #1  
demianimp is offline
demianimp
Участник
 
202 / 104 (4) +++++
Регистрация: 10.10.2013
? sqlDataDictionary.tableReindex
Добрый день.

Столкнулся с такой проблемой. При вызове sqlDataDictionary.tableReindex с параметрами не всегда на SQL отправляет команду на удаление и создание индекса. sqlDataDictionary.tableReindex возвращает 0, что согласно MSDN означает, что нет ошибки

Что также наблюдается через форму "Администрирование SQL" -> "Действия над индексами" -> "Переиндексация". Как на группе таблиц, так и на группе индексов.

Что я делаю не так?

Вот пример джоба, который нужно запускать через пункт меню с параметром запуска на server.

X++:
static server void ReIndex(Args _args)
{
    SqlDataDictionary       sqlDataDictionary;
    ;
    sqlDataDictionary = new SqlDataDictionary();
        
    new SqlDataDictionaryPermission(methodstr(SqlDataDictionary,  tableReindex)).assert();
    info(int2str(sqlDataDictionary.tableReindex(tableId, IndexId)));
    CodeAccessPermission::revertAssert();
}
Может есть какие-то другие варианты программного запуска переиндексации через AX?