Czy istnieje sposób na przywrócenie kopii zapasowej bazy danych SQL Server 2012 na SQL Server 2008?
Próbowałem załączyć plik, to nie działa.
sql-server
sql-server-2008
sql-server-2012
Aaron Bertrand
źródło
źródło
Odpowiedzi:
Masz kilka opcji:
Opcja A : Wypisuj bazę danych w trybie zgodności za pomocą opcji Wygeneruj skrypt:
Uwaga: Jeśli wykonasz skrypt bazy danych ze schematem i danymi, w zależności od rozmiaru danych, skrypt będzie ogromny i nie będzie obsługiwany przez SSMS, sqlcmd lub osql (może być również w GB).
Opcja B:
Najpierw najpierw wypisz tabele ze wszystkimi indeksami, FK itp. I utwórz puste tabele w docelowej bazie danych - opcja TYLKO w SCHEMIE (Brak danych).
Użyj BCP, aby wstawić dane
bcp odczyt danych za pomocą poniższego skryptu. ustaw SSMS w trybie tekstowym i skopiuj dane wyjściowe wygenerowane przez poniższy skrypt w pliku nietoperza.
Uruchom plik bat, który wygeneruje pliki .dat w określonym folderze.
Uruchom ponownie skrypt poniżej na serwerze docelowym z SSMS w trybie tekstowym.
Uruchom dane wyjściowe za pomocą SSMS, aby wstawić dane z powrotem do tabel.
Jest to bardzo szybka metoda BCP, ponieważ wykorzystuje tryb macierzysty.
źródło
Some SSIDs and linked servers didn't go across properly
. Połączone serwery muszą zostać ręcznie skrypty. Identyfikatory SSID mogą być przesyłane do sieci za pomocą sp_helprevlogin. Zadania SQLAgent, pakiety ssis itp. Należy przenosić zgodnie z własnymi potrzebami. Celem tej metody jest uzyskanie danych tak szybko, jak to możliwe, podczas obniżania lub łączenia 2 baz danych.Nie, nie możesz cofać się, tylko do przodu. Możesz utworzyć pustą bazę danych w 2008 roku, a następnie użyć kreatora Generuj skrypty w Management Studio do skryptu schematu i danych (lub narzędzi porównawczych innych firm z Red Gate i innych). Upewnij się, że ustawiłeś właściwą wersję docelową na 2008 r., A będziesz musiał wdrożyć niekompatybilne rzeczy (np. OFFSET lub FORMAT), których mogłeś użyć w 2012 r.
źródło
Nie ma obsługiwanego sposobu, aby to zrobić, ponieważ SQL Server nie pozwala na tego rodzaju kompatybilność.
Możesz to zrobić
przywróć bazę danych na SQL 2012
generuj skrypty dla obiektów i danych
Jeśli nie masz programu SQL Server 2012, możesz użyć narzędzi innych firm do odczytu kopii zapasowych oraz wyodrębnienia danych i struktury.
W takim przypadku po prostu utwórz pustą bazę danych w SQL 2008 i użyj narzędzi takich jak ApexSQL Diff i ApexSQL Data Diff do synchronizacji obiektów i danych. Można je również znaleźć u innych głównych dostawców, takich jak Red-Gate lub Idera.
źródło