Mam bazę danych instancji SQL Sever 2012, którą chciałbym skopiować na serwer 2008. Serwer 2008 nie może przywrócić kopii zapasowych utworzonych przez serwer 2012 (próbowałem).
W 2012 roku nie mogę znaleźć opcji utworzenia kopii zapasowej zgodnej z rokiem 2008. Czy coś brakuje?
Czy istnieje prosty sposób na wyeksportowanie schematu i danych do formatu niezależnego od wersji, który mogę następnie zaimportować do 2008 roku?
Baza danych nie korzysta z żadnych funkcji specyficznych dla 2012 roku. Zawiera tabele, dane i procedury przechowywane.
Oto, co próbowałem do tej pory
Próbowałem Zadania → Generuj skrypty na serwerze 2012 i byłem w stanie wygenerować schemat (w tym procedury składowane) jako skrypt SQL. Nie zawierało to jednak żadnych danych.
Po utworzeniu tego schematu na moim komputerze w 2008 r. Mogłem otworzyć kreatora „Eksportuj dane” na komputerze w 2012 r., A po skonfigurowaniu 2012 jako maszyny źródłowej i 2008 jako maszyny docelowej przedstawiono mi listę tabel, które ja można skopiować. Wybrałem wszystkie moje tabele (300+) i kliknąłem kreatora. Niestety generuje skrypty przez całe wieki, a następnie kończy się niepowodzeniem z błędami typu „Błąd wstawiania do kolumny„ FOO_ID ”tylko do odczytu.
Próbowałem także „Copy Database Wizard”, który twierdził, że jest w stanie skopiować „z 2000 roku lub później do roku 2005 lub później”. Ma dwa tryby:
„Odłącz i dołącz”, który nie powiódł się z błędem:
Message: Index was outside the bounds of the array. StackTrace: at Microsoft.SqlServer.Management.Smo.PropertyBag.SetValue(Int32 index, Object value) ... at Microsoft.SqlServer.Management.Smo.DataFile.get_FileName()
Metoda obiektu zarządzania SQL, która zakończyła się błędem
Nie można odczytać właściwości IsFileStream. Ta właściwość nie jest dostępna w SQL Server 7.0. ”