Mam lokalną kopię bazy danych SQL Server przechowywaną jako plik MDF. Czy istnieje sposób na określenie, której wersji programu SQL Server użyto do utworzenia tego pliku?
sql-server
Ben McCormack
źródło
źródło
Użyj PRZYWRACANIA SŁUCHAWKOWEGO, np
Otrzymasz wiele kolumn, ale interesujące są SoftwareVersionMajor, SoftwareVersionMinor i SoftwareVersionBuild, które powinny dać ci numer wersji SQL Server. Na przykład w naszym systemie są to 10, 0 i 4000, co oznacza 10.0.4000 (2008 SP2).
Nie jestem pewien, co się stanie, jeśli spróbujesz to zrobić z kopią zapasową, która jest zbyt stara, aby można ją było przywrócić w wersji, na której działa serwer - może jednak pojawić się błąd i brak informacji (chociaż samo w sobie dostarczyłoby to pewnych wskazówek na temat wersja, z której pochodzi).
źródło
W przypadku plików MDF wypróbuj to polecenie:
Będzie wyjście 3 nieruchomości o wartości:
Database name
,Database version
iCollation
.Składnia jest następująca (polecenie jest nieudokumentowane, dlatego więcej informacji tutaj ):
źródło
Dobre pytanie! Nie sądzę, poza procesem prób i błędów - powiedzmy - próby przywrócenia pliku kopii zapasowej SQL Server 2008 R2 do SQL Server 2005. Oczywiście to nie zadziała. Nie pamiętam, czy użycie Management Studio - i kliknięcie przycisku zawartości w celu przywrócenia - pokaże ci coś interesującego.
Nie próbowałem ich, ale możliwe jest, że powie ci to narzędzie innej firmy, takie jak Virtual Gate Red Gate - pozwala spojrzeć na bazę danych „wewnątrz” pliku kopii zapasowej. http://www.red-gate.com/products/dba/sql-virtual-restore/
źródło
Możesz to znaleźć, korzystając z informacji na stronie rozruchowej bazy danych. Napisałem o tym na stronie http://sankarreddy.com/2010/05/database-internal-version-create-version-and-current-version/
źródło
Najlepszy sposób, jaki kiedykolwiek widziałem, aby to zrobić, zebrano z tego postu na forach MSDN programu SQL Server.
Zasadniczo polega na wejściu do pliku i sprawdzeniu strony rozruchowej pliku mdf.
źródło