Vadim спасибо Вам большое за исследование файла.
Дело в том, что в данной резервной копии я выбрал бэкап всех существующих на данный момент студентов.
Я строго учту Ваше указание заполнять как следует имя и фамилию, т.к. из-за этого уже были проблемы при поиске учетных записей.
На данный момент при исследовании проблемы на сайте я пришел к неоднозначным выводам, что виноват все-таки старый сервер. Я вкратце расскажу Вам, каким образом стали появляться такие серьезные ошибки.
Дело в том, что сервер нормально работал до тех пор, пока не забился пылью полностью. По недосмотру администратора сервера он таким образом вышел из строя (пропала почти вся информация, хотя у меня было подозрение, что был взлом, т.к. администратор установил прямой вход рута по SSH на сервер что я считаю грубейшим нарушением безопасности)!
После этого администратор сервера не переустанавливая (!) систему сделал ее дамп на другой медицинский сервер. После этого он перенес дамп на новый сервер, и настроил moodle там, но не ту версию, которая соответствует резервным копиям а более новую (см мой самый первый пост). И на этом действующем сервере настройка произведена безобразно (не установлена защита от брутфорса, открыт root ssh, не обновлено ПО до последних версий).
После этого и появились сначала проблемы типа "Нечего показывать" (то есть попытки в тестах есть, но ни один из студентов не отображается), потом проблемы с could not random id multichoice.
Сейчас админирстратор сервера ушел, взвалив на мои плечи все заботы по серверу. Ни у кого в нашем отделе не хватит ума заниматься сервером и технической стороной сайта, поэтому с сервером работаю только я.
Мой сервер в отличие от старого настроен очень аккуратно, обновлено все ПО, включая WEB сервер (Apache + PHP + MySQL), тщательно проработаны правила брандмауэра IPFW и поставлена защита от брутфорсинга и прочих пакостей (fail2ban). Поэтому я не считаю свой сервер причиной сбоев, хотя они там тоже наблюдаются, что вероятно связано со старым сервером.
В настоящий момент устранение ошибок возможно только при полной очистке курса от элементов активности (в том числе от оценок). Но в разгаре учебного процесса делать это крайне нежелательно, т.к. студенты не смогут учиться нормально, им опять придется все пересдавать (кстати, если я делаю бэкапы без данных пользователя и затем их восстанавливаю то ошибки типа could not random id multichoice не появляется!)
Таким образом, я сейчас решаю проблему так:
1. С первого сервера (старого) снимаю бэкап курса без данных пользователя, выбираю в резервной копии пользователей курса.
2. Заливаю бэкап на второй (мой) сервер с чистой базой данных (полностью чистый сайт), кстати Вы правы, восстанавливается только 12 ролей студентов при этом, хотя их было больше сотни (пользователи курса 14, как Вы и сказали).
3. Снимаю бэкап со второго сервера (моего) и заливаю на первый (старый) сервер, переименовав курс (добавив к нему - Восст.). При этом пользователей курса становится больше сотни, но все же не все опять же записаны на курс (то есть из сотни студентов где - то около четверти только записаны).
4. Даю информацию преподавателям, что дальнейшие тесты нужно решать на очищенном курсе ( с Восст.), а результаты предыдущих тестов смотреть на старом курсе.
Когда придет время, я проведу таким образом очистку всех бэкапов от данных пользователя (предварительно убедившись, что все оценки зафиксированы, и переданы в деканат в бумажном виде!) и произведу переустановку из этих бэкапов на новый свежий сайт (сначала на версию 1.9.11 строго в соответствии с версией сайта, с которого был снят бэкап, потом обновлю до более новой версии сайта 1.9.x). Копировать явно поврежденную папку moodledata и базу данных со старого сервера как мне советовал бывший администратор, не считаю целесообразным, т.к. наверняка они повреждены, если мне приходится иметь дело с поврежденными резервными копиями, которые я вынужден очищать. Более рационального и быстрого решения проблемы в данный момент я не вижу.