Отсутствие данных на общих компьютерах - PullRequest
0 голосов
/ 20 января 2020

У меня есть установка, в которой у меня один компьютер в офисе, а другой в моем доме, и данные проекта передаются через OneDrive. Это сделано исключительно для моего собственного удобства, и я работаю только на одном компьютере за раз, закрывая Visual Studio, когда не использую его ни на одном компьютере.

Моя текущая проблема связана с синхронизируемым проектом через OneDrive, но использует базу данных SQL Server LocalDB для разработки и тестирования, но, несмотря на синхронизацию файлов между двумя компьютерами, данные, вставленные на один компьютер, не отображаются в запросах, выполняемых на втором компьютере.

Синхронизация происходит только после закрытия Visual Studio, так как блокировка файлов препятствует процессу. Я проверил, что копируются как файлы .mdf, так и файлы .ldf (правильные размеры и даты изменения файлов). Я также физически скопировал файлы через внешний жесткий диск, чтобы исключить шаг синхронизации OneDrive, но проблема сохраняется.

Я также убедился, что даже после копирования файлов вставленные данные все еще присутствуют на компьютере где была сделана INSERT, но она не появляется при выполнении SELECT на втором компьютере.

У меня сложилось впечатление, что LocalDB использует только файлы .mdf и .ldf, есть ли где-нибудь файлы кэширования, которые я также нужно синхронизировать?

Все коды и другие файлы проекта синхронизируются просто отлично, только эта база данных испытывает эту проблему.

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

1 Ответ

0 голосов
/ 20 января 2020

Извините за беспокойство, я, похоже, сам решил проблему.

Просто ради здравого смысла я попытался отсоединить, а затем повторно присоединить файл .mdf на втором компьютере (тот, он не собирал INSERTed-данные) и получил ошибку о том, что экземпляр LocalDB слишком старая для файла.

Оказывается, что на компьютере, на котором были сделаны INSERT, был запущен экземпляр v13, и он обновил файл .mdf до этой версии, в то время как на другом компьютере был запущен экземпляр v11. Оба компьютера теперь работают в одной и той же версии экземпляра, а недостающие данные теперь отображаются.

...