Używam programu SQL Server 2008 R2 Standard (wersja 10.50.1600.1) dla mojej produkcyjnej witryny sieci Web i wersji SQL Server Express z usługami zaawansowanymi (wersja 10.50.1600.1) dla mojego hosta lokalnego jako bazy danych.
Kilka dni temu mój SQL Server uległ awarii i musiałem zainstalować nową wersję 2008 R2 Express na moim hoście lokalnym. Działało dobrze, gdy przywróciłem niektóre starsze wersje pobrane z edycji Express, ale gdy próbuję przywrócić bazę danych z .bak
pliku pobranego z serwera produkcyjnego, powoduje to następujący błąd:
Błąd: określona obsada jest nieprawidłowa. (SqlManagerUI)
i kiedy próbuję przywrócić bazę danych za pomocą polecenia
Use Master
Go
RESTORE DATABASE Publications
FROM DISK = 'C:\Publications.bak'
WITH MOVE 'Publications' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.mdf',--adjust path
MOVE 'AlPublications_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.ldf'
Generuje inny błąd
Msg 3154, poziom 16, stan 4, wiersz 1
Zestaw kopii zapasowych zawiera kopię zapasową bazy danych innej niż istniejąca baza danych „Publikacje”.
Msg 3013, poziom 16, stan 1, wiersz 1
RESTORE DATABASE kończy się nieprawidłowo.
Sprawdziłem wersje. Wszystkie wydają się pasować do mnie, jak pokazano na poniższym obrazku
Wcześniej udało mi się przywrócić bazę danych z wersji standardowej do wersji ekspresowej, ale teraz to się nie udaje. Usunąłem bazę danych i próbowałem ją odtworzyć. To też zawodzi.
Nie jestem pewien, co robię źle. Byłbym wdzięczny za pomoc w tej sprawie
Problem został rozwiązany, ponieważ wygląda na to, że plik .bak był uszkodzony. Kiedy próbowałem to z innym plikiem, zadziałało.