Dzisiaj mi się przytrafiło
LR podczas uruchamiania stwierdził, że baza jest uszkodzona.
Zaproponował naprawę ale nic to nie dało więc zasugerował odtworzenie z kopii zapasowej.
Nie pasowało mi to bo kopie miałem dosyć starą.
Internet podpowiedział, że można taki katalog próbować naprawić.

Gdyby ktoś miał taki problem to taka procedura działa - sprawdziłem:

1. Kopiujemy do jakiegoś katalogu tymczasowego (np. "c:\temp") plik z bazą danych LR. Plik ten ma rozszerzenie ".lrcat" i standardowo znajduje się w katalogu "Obrazy/Lightroom" danego użytkownika. U mnie to jest katalog: "C:\Users\G\Pictures\Lightroom".
Ważne jest żeby zmienić nazwę tego pliku tak by nie zawierała spacji. Czyli np. z "Lightroom Catalog.lrcat" na "LightroomCatalog.lrcat"
Ten plik jest to baza danych w systemie SQLite.

2. Ściągamy z internetu narzędzia do bazy SQLite ze strony: https://www.sqlite.org/download.html
Wybieramy narzędzia dla naszego systemu operacyjnego. Należy szukać linków ze słowem "tools".
Pliki zapisujemy w tym samym katalogu co uszkodzona baza - w naszym przypadku "c:\temp".
Ściągnięte pliki są zarchiwizowane należy je rozpakować tak by w naszym katalogu pojawił się plik "sqlite3.exe"

3. Generujemy z naszej uszkodzonej bazy plik zawierający polecenia SQL i modyfikujemy go troszeczkę.

W tym celu uruchamiamy komendy wiersza poleceń Windows (Start->Uruchom->cmd).
W czarnym okienku wpisujemy komendy:

a) zmieniamy katalog na ten zawierający nasze pliki
komenda 1 = "c:" --> naciskamy ENTER
komenda 2 = "cd c:\temp" --> naciskamy ENTER
komenda 3 = "echo .dump | sqlite3 LightroomCatalog.lrcat > LightroomCatalog.sql" --> naciskamy ENTER

Opisane komendy utworzą nam plik tekstowy "LightroomCatalog.sql" zawierający definicję struktury bazy danych + polecenia wypełniające tabelki danymi

b) UWAGA. Jeżeli baza była uszkodzona w utworzonym powyżej pliku na samym końcu zostaje umieszczona linia zawierająca tekst:
"ROLLBACK; -- due to errors"
Musimy zmienić ten tekst na "COMMIT;"
Bez tej zmiany skrypt SQL po imporcie cofnie wszystkie zmiany i nie odtworzymy bazy danych.
Ponieważ plik jest bardzo duży (u mnie prawie 1GB), edycję tego słowa należy zrobić w jakimś bardziej zaawansowanym edytorze niż NOTATNIK. Proponuję użyć programu Notepad++.

4. Z utworzonego pliku z poleceniami SQL ("LightroomCatalog.sql") generujemy nową bazę danych dla LR.

W tym celu uruchamiamy komendy wiersza poleceń Windows (Start->Uruchom->cmd) lub korzystamy z poprzednio uruchomionego (tak lepiej bo już mamy katalog roboczy ustawiony).
W czarnym okienku wpisujemy komendy:

a) generujemy nową bazę danych
komenda 1 = "sqlite3.exe -init LightroomCatalog.sql NewLightroomCatalog.lrcat "" " --> naciskamy ENTER --> (UWAGA w tym poleceniu na końcu są dwa znaki cudzysłowia)

Po tej komendzie w naszym katalogu powinien powstać plik "NewLightroomCatalog.lrcat" zawierający naprawioną bazę Lightroom'a.

5. Kopiujemy utworzoną bazę do miejsca gdzie LR przechowuje dane (u mnie "C:\Users\G\Pictures\Lightroom"), ale pamiętając o zmianie jego nazwy na tą oryginalną (w moim przypadku "Lightroom Catalog.lrcat" - dodałem tą spację w nazwie).

6. Uruchamiamy LR i powinno być OK.


DOBRE RADY:

1. Włączamy opcję zapisu dla każdego zdjęcia pliku ze zmianami XMP. Opcja "Edit -> Catalog Settings -> Automatically write changes into XMP".
Dzięki temu gdy baza zostanie uszkodzona będziemy mieli dla każdego zdjęcia zapisane wszystkie zmiany na dysku wplikach XMP , które zrobiliśmy w module DEVELOP.
Takie zmiany można potem zaczytać dla zdjęć --> "Metadata --> Read metadata from file".

2. Często wykonujemy kopię tego katalogu/ bazy.
Proponuję zmienić ustawienia backupu na : "Edit -> Catalog Settings -> Backup catalog=Every time lightroom exits"