Pliki baz danych zbudowane przy użyciu SQL 2008 nie są kompatybilne z 2005. Czy istnieje jakieś rozwiązanie?
32
Pliki baz danych zbudowane przy użyciu SQL 2008 nie są kompatybilne z 2005. Czy istnieje jakieś rozwiązanie?
Odpowiedzi:
Nie są potrzebne narzędzia innych firm. SQL Server 2008 Management Studio dał nam bardzo potężne narzędzie do konwersji bazy danych w dół, ponieważ dodali opcję „Dane skryptu” do kreatora „Baza danych skryptu”.
Po prostu kliknij prawym przyciskiem myszy DB w SQL2008 SSMS i przejdź do Zadania, a następnie „Generuj skrypty”
Przejdź przez kreatora, pamiętaj, aby wybrać „Prawda” dla „Dane skryptu” w opcjach tabeli / widoku. Wybierz wszystkie obiekty, a następnie uruchom skrypt, który tworzy na serwerze 2005. (Należy pamiętać, że utworzony skrypt może być ogromny, jeśli oryginalna baza danych jest bardzo duża!)
Pamiętaj, że możesz nawet uruchomić kreatora na serwerze SQL2005, aby przekonwertować bazę danych SQL2005 na SQL2000 (oczywiście na stacji roboczej potrzebujesz oczywiście narzędzi 2008).
źródło
Możesz BCP dane z jednej instancji SQL Server do innej instancji. Byłby to najszybszy sposób na skopiowanie danych z jednej wersji do drugiej. W zależności od ilości danych może to zająć dużo czasu.
źródło
Niestety nie ma bezpośredniego sposobu na obniżenie DB z formatu z 2008 r. Do 2005 r.
Sposób, w jaki to robiłem w przeszłości (właściwie ze starszymi wersjami serwera SQL, ale proces będzie taki sam) to:
INSERT destinationserver.destinationdb.schema.table SELECT * FROM sourcedb.schema.table
(lub
INSERT schema.table SELECT * FROM sourceserver.sourcedb.schema.table
jeśli połączyłeś instancje w ten sposób )dla każdej tabeli. Jeśli masz wymuszanie ograniczeń i wyzwalaczy w zakresie spójności między tabelami, musisz oczywiście być nieco bardziej sprytny w kwestii kolejności tych operacji, szczególnie jeśli masz ograniczenia cykliczne, takie jak tabela z ograniczeniem opartym na sobie (jedna hierarchia trzymania dane, jako możliwy przykład).
Bardziej efektywne może być po prostu skopiowanie danych najpierw i dodanie całej innej struktury (indeksy, procy, wyzwalacze, ...) po kroku 3. Pozwala to uniknąć problemów z porządkowaniem wstawiania wierszy spowodowanych ograniczeniami i wyzwalaczami oraz budowania indeksów w koniec powinien teoretycznie być szybszy niż budowanie ich, ponieważ wszystkie dane są dodawane - chociaż jeśli masz tabele indeksów klastrowych w twoich tabelach, utwórz je przed dodaniem danych, ponieważ nie byłoby to szybsze tworzenie po fakcie.
Oczywiście wszystko to zakłada, że żaden z twoich obiektów nie korzysta z funkcji specyficznych dla SQL 2008 - jeśli tak, miejmy nadzieję, że odkryjesz i naprawisz takie rzeczy, gdy wystąpią błędy podczas przebudowywania schematu. Jeśli którykolwiek z Twoich kodów opiera się na oficjalnie niezdefiniowanym zachowaniu, które różni się w zależności od wersji SQL Server, możesz mieć o wiele bardziej subtelne i nieuchwytne błędy, które można później wyłapać i usunąć.
źródło
Napotkałem podobną sytuację i użyłem Kreatora publikacji bazy danych do skryptu schematu i danych dla SQL Server 2005 z bazy danych SQL Server 2008.
SQL Server Hosting Web Service (i zestaw narzędzi)
Kreator publikacji bazy danych
źródło
Najpierw musisz napisać skrypt do bazy danych i upewnić się, że w wersji, którą określisz, chcesz obniżyć ocenę. I skopiowanie danych z wyższej wersji do niższej wersji SQL Data porównywania zrobi dla ciebie lewę.
Powodzenia!
źródło