Przywracanie kopii zapasowej do starszej wersji programu SQL Server


29

Podczas próby przywrócenia kopii zapasowej do bazy danych SQL Server Express 2008 wystąpił następujący błąd:

Restore failed for Server '...\SQLEXPRESS'.  (Microsoft.SqlServer.SmoExtended)
System.Data.SqlClient.SqlError: The database was backed up on a server running version
10.50.1600. 
That version is incompatible with this server, which is running version 10.00.2531. 
Either restore the database on a server that supports the backup, or use a backup 
that is compatible with this server. (Microsoft.SqlServer.Smo)

Czy istnieje sposób na uzyskanie kopii zapasowej zgodnej ze starszą (w moim przypadku 10.00.2531) wersją z nowszej (w moim przypadku 10.50.1600) wersji SQL Server Express?

Odpowiedzi:


19

Do migracji wszystkiego będziesz musiał użyć kreatorów importu / eksportu w SSMS

Nie ma żadnego „downgrade” możliwe przy użyciu kopii zapasowej / przywracania lub odłączy / attach


8

Za pomocą kreatora importu / eksportu można przenosić dane między bazami danych.

Kliknij prawym przyciskiem myszy bazę danych, którą chcesz wyeksportować, wybierz „Zadania”, a następnie „Eksportuj dane”. Kreator przeprowadzi Cię przez proces.

Ale masz rację. Nie będzie można wykonać kopii zapasowej / przywracania, przenosząc się z SQL Server 2008 R2 do SQL Server 2008 Express.


6

Jedynym sposobem jest utworzenie nowej bazy danych w wersji 10.00.2531 i zaimportowanie danych z 10.50.1600.

Nie można przywrócić do starszej wersji.


6

Kopia zapasowa programu SQL Server nie obsługuje kompatybilności wstecznej

Kroki, aby uzyskać DB na starszych wersjach -

  • W przypadku schematu: kliknij prawym przyciskiem myszy bazę danych -> Zadania -> wygeneruj skrypty -> dalej -> dalej -> kliknij przycisk zaawansowany -> zmień opcję „typ danych na skrypt” na „schemat” - -> ok -> dalej -> dalej

  • W przypadku danych: kliknij prawym przyciskiem myszy bazę danych -> Zadania -> generuj skrypty -> dalej -> dalej -> kliknij przycisk zaawansowany -> zmień opcję „typ danych na skrypt” na „dane” - -> ok -> dalej -> dalej


Jednym z problemów związanych z tą metodą jest to, że w dużych bazach danych (wiele tabel i ogromne dane) uruchamianie skryptów do przywracania zajmuje dużo czasu. ale jest poręczny i łatwy
Iman

2

kliknij prawym przyciskiem myszy bazę danych -> Zadania -> generuj skrypty -> dalej -> dalej -> kliknij przycisk zaawansowany -> zmień opcję „typ danych na skrypt” na „schemat i dane” - > ok -> next -> next, więc teraz masz skrypt, który tworzy bazę danych i jej tabelę i wypełnia w niej dane :);)


2
W zależności od ilości danych skrypt ten może być ogromny ...
Thomas Rushton

1
@ThomasRushton Ten skrypt z definicji będzie większy niż sama baza danych, prawdopodobnie co najmniej dwukrotnie, jeśli nie gorzej! Mam nadzieję, że nie jest to baza danych o pojemności 50 GB ...
ErikE,

To jest zduplikowana odpowiedź
Burgi

to nie jest duplikat odpowiedzi, jest to świetna odpowiedź na typ danych „schemat i dane”! ;-) czego potrzebowałem!
juFo

1
@Burgi ta odpowiedź jest starsza niż dsingh. Po prostu skopiował Sarę i dodał 2 opcje, jedną dla schematu drugą dla danych. Jego jest duplikatem.
basher
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.