Natknąłem się na trzy stare bazy danych oparte na SQL Server 2000, które muszę przenieść do 2012 r. Uważam, że standardowym podejściem jest przywrócenie do instancji z 2005 lub 2008 r., Aktualizacja, ponowny eksport i wreszcie przywrócenie do 2012 r.
W porządku, ale nie mamy dostępnych instancji z 2005 lub 2008 roku.
Czy są jakieś obejścia lub inne metody, które mogą być warte wypróbowania?
Aby uzyskać informacje, bazy danych zawierają tylko 15-20 tabel i kilka widoków, wydają się bardzo proste, a kopie zapasowe mają rozmiar zaledwie 100-200 MB.
Odpowiedzi:
Nie, nie można obejść problemu uaktualnienia bazy danych bezpośrednio od 2000 do 2012 roku.
Ponieważ nie masz ogromnej ilości danych, możesz wykonywać różne czynności, aby przenieść dane (ale nie bazę danych jako całość), w tym:
Jednak niekoniecznie przyniosą one inne rzeczy, takie jak użytkownicy, uprawnienia, role itp. I nie wszystko stworzy obiekty w odpowiedniej kolejności zależności. Są więc bardziej podatni na pracę i błędy. Z mojego doświadczenia wynika, że warto po prostu tymczasowo zainstalować instancję pośrednią, a następnie wykonać dwie operacje tworzenia kopii zapasowej + przywracania - które będą łatwiejsze, szybsze i mniej podatne na błędy niż którakolwiek z powyższych metod.
Jeśli Twoje bazy danych są mniejsze niż 10 GB, możesz zainstalować kopię Express (bezpłatnie) w ciągu kilku minut i korzystać z niej. Możesz pobrać 2008 R2 Express tutaj . Nie sądzę, aby w 2000 r. Istniały jakieś funkcje Enterprise dotyczące struktury bazy danych itp., Które blokowałyby tę aktualizację (większy problem dla bardziej nowoczesnych wersji).
Jeśli Twoja baza danych jest zbyt duża dla Express, powinieneś być w stanie znaleźć wersję dla programistów za około 49 USD (lub nawet taniej - znalazłem 2005 na eBayu za 37 USD ) lub jeśli masz subskrypcję MSDN, powinieneś być w stanie uzyskać dowolną SKU stamtąd.
Lub możesz uciec od korzystania z wersji ewaluacyjnej, która jest nadal niesamowicie oferowana do pobrania dla starszych wersji (np. Znalazłem tutaj 2008 ), jednak jestem na telefonie, więc nie byłem w stanie potwierdzić, że pobieranie dla tej wersji nadal działa .
źródło
Stwierdzenie, że nie ma obejścia, wydaje się trochę przedwczesne.
Mówisz, że twoja baza danych zawiera tylko kilka tabel i widoków. Dlaczego nie wyeksportować schematu tabel i widoków, gdy SQL tworzy instrukcje i uruchamia je w docelowej bazie danych? Następnie możesz również wyeksportować rzeczywiste dane do czegoś takiego jak format CSV i zaimportować je do docelowej bazy danych, a może nawet napisać coś w C # / C ++ / etc, aby wyeksportować / zaimportować rzeczywiste dane.
Nie musisz wydawać ani grosza na nowe wystąpienia programu SQL Server, których ostatecznie nie potrzebujesz.
źródło
Nie, nie możesz migrować go bezpośrednio z 2000 do 2012.
Co możesz zrobić, to zainstalować tymczasową instancję 2005 LUB 2008 lub 2008R2, przywróć bazę danych 2000 tutaj. Po zakończeniu możesz teraz zaktualizować z zainstalowanej instancji, pobierając kopię zapasową bazy danych z tej instancji i przywracając ją na serwerze SQL 2012.
Trzeba będzie przeprowadzić migrację w dwóch krokach:
źródło
Mówisz, że „natknąłeś się na trzy stare bazy danych oparte na SQL Server 2000”, co prowadzi mnie do wniosku, że potrzebujesz tylko danych. Domyślam się, że gdyby były prowadzone w określonym celu, to byś wiedział. W takim przypadku zignoruj wszystkie pytania użytkowników, bezpieczeństwa itp.
Kreator importu / eksportu wszystkie tabele Skryptuj procedury składowane i widoki Sprawdź plany konserwacji i zadania agenta, aby udokumentować procesy, które możesz chcieć obejrzeć później.
źródło
Nie można migrować bezpośrednio z SQL Server 2000 do SQL Server 2012, a jeśli spróbujesz to zrobić, pojawi się następujący błąd o numerze 3169, związany z problemami ze zgodnością.
Migrację do SQL Server 2012 można wykonać z jednej z następujących wersji (wersje minimalne) SQL Server 2005 SP4 lub SQL Server 2008 SP2 lub SQL Server 2008 R2 SP1.
Tak więc pierwszym krokiem do migracji z SQL Server 2000 do jednej z tych wersji jest jeden z Doradców uaktualnienia dla SQL Server 2008 w poniższym linku . Aby upewnić się, że wszystko będzie działać płynnie przed rozpoczęciem procesu przywracania, musisz uruchomić aplikację. Następnie „Uruchom Kreatora analizy doradcy uaktualnienia” i postępuj zgodnie z instrukcjami kreatora.
Po otrzymaniu raportu należy przywrócić bazę danych na docelowym serwerze SQL Server 2005 SP4 lub SQL Server 2008 SP2 lub SQL Server 2008 R2 SP1 i uruchomić na nim poziom zgodności (można go znaleźć w opcji bazy danych). W przypadku logowania do SQL Server postępuj zgodnie z instrukcją w poniższym linku .
Po zakończeniu należy przeprowadzić migrację do programu SQL Server 2012, powtarzając te same kroki z serwera, na którym przeprowadzono pierwszą migrację.
źródło
Po pierwsze, zgadzam się, że nie powinieneś migrować bezpośrednio z 2000 do 2012 roku. Myślę, że ten proces został dobrze omówiony. Chciałem zasugerować, abyś na pewno dowiedział się, czy ktoś korzysta z baz danych i do czego ich używa. Być może nie są one używane. Zdarza się, a jeśli tak, to nie martw się. Może się zdarzyć, że dodanie 2 lub 3 tabel i danych (w 2000 r. Użyj programu bcp, jeśli chcesz, aby dane dla pojedynczej tabeli były proste i niezawodne) do istniejącej bazy danych z 2012 r. Zaspokoiłyby potrzeby użytkowników. Jeśli to zrobisz, utwórz nowe tabele w bazie danych 2012 i wyślij dane potrzebne do csv, w razie potrzeby możesz je ponownie pobrać. Jeśli musisz przeprowadzić migrację więcej niż jednej lub dwóch tabel, najprostszym, najbezpieczniejszym i najlepszym sposobem jest migracja dwuetapowa. Don'
źródło