Ошибка «сбор данных был изменен, операция перечисления может не выполняться» при восстановлении резервной копии базы данных в Azure Data Studio

11

Я очень плохо знаком с базами данных, поэтому, пожалуйста, потерпите меня.

Я настроил локальный SQL Server, работающий в контейнере Docker (на Mac). Я пытаюсь восстановить базу данных SQL с помощью Azure Data Studio (v1.14.0), но она не работает.

Я использовал руководство на database.guide, но продолжаю получать ошибки. Я понятия не имею, что это значит.

Ошибка восстановления базы данных: коллекция была изменена; операция перечисления может не выполняться

Я попытался восстановить .bak-файл из резервной копии, сделанной на моем школьном компьютере (использовала SQL Server Management Studio на ПК), попытался восстановить с помощью bak-файла из Database.guide. Я также сделал резервную копию из моей текущей базы данных в Azure и попытался восстановить ее - тоже не получилось.

SpaceMonkeyMonty
источник
Какой реальный SQL вы использовали?
Ларну
@Larnu Я этого не делал, я просто использовал Azure Data Studio в качестве пользовательского интерфейса,
выполняя
Это все еще работает SQL. И в SSMS, и в ADS есть кнопка «Сценарий». Покажите нам сценарий.
Ларну
@Larnu Я не уверен, как это сделать, я начал использовать ADS два дня назад. При восстановлении резервной копии я попытался нажать кнопку скрипта (она сразу запустила автоматический скрипт), но я получил ту же ошибку. Я не знаю, как получить реальный SQL, который запускался при попытке восстановить резервную копию.
SpaceMonkeyMonty
Вы нажимаете кнопку «Сценарий». Это буквально помечено «Сценарий».
Ларну

Ответы:

24

Я наконец получил это на работу! При восстановлении на вкладке «Файлы» я установил флажок «Переместить все файлы» и указал местоположение для перемещения данных и файлов журнала в / var / opt / mssql / data, и это сработало.

SpaceMonkeyMonty
источник
4
Хотел бы я найти это, прежде чем потратить впустую часы на это. Upvote эта вещь!
TinkerTenorSoftwareGuy
2
К счастью, я искал и нашел эту страницу, прежде чем тратить часы. Палец вверх!
Пол