W początkowej sytuacji wygląda na to, że próbowałeś czegoś takiego (lub czegokolwiek, co GUI dla ciebie przygotuje, gdy przejdziesz przez okna dialogowe):
CREATE DATABASE YAFnet ON (FILENAME = N'C:\sql_data\YAFnet.mdf')
FOR ATTACH;
Jednak ta metoda wymaga zarówno mdf
plik i ldf
plik. W przeciwnym razie pojawi się komunikat o błędzie podobny do:
Teraz jest sposób na kontynuację, nawet jeśli masz tylko mdf
plik. Zakładając, że masz mdf
poprawnie odłączony od SQL Server, powinieneś być w stanie dołączyć mdf
plik bez pliku dziennika przy użyciu następującej składni:
CREATE DATABASE YAFnet ON (FILENAME = N'C:\sql_data\YAFnet.mdf')
FOR ATTACH_REBUILD_LOG;
Wydaje się jednak, że w twoim przypadku plik nie został prawidłowo odłączony od SQL Server:
Istnieje kilka możliwych wyjaśnień, w tym te wymienione w komunikacie o błędzie. Być może został pobrany z jakiegoś nieprawidłowego cienia SAN lub odłączony w trybie tylko do odczytu lub odzyskany po awarii SQL Server lub bazowego systemu, lub uszkodzony podczas kopiowania/pobierania, lub kto wie, co jeszcze.
Aby sprawdzić, czy istnieją właściwe kopie zapasowe, musisz wrócić do wsparcia Yaf lub jego dostawcy usług dostępne lub, jeśli to się nie uda, alternatywne kopie mdf
plik. Pamiętaj też, że nikt z nas tak naprawdę nie wie, czym jest Yaf, ani nie ma sposobu, aby zweryfikować, o którym Yaf mówisz.
W przeciwnym razie wygląda na to, że nie masz szczęścia, ponieważ ten konkretny mdf
plik jest nieprawidłowy i dlatego nie zaprowadzi Cię zbyt daleko.
Właśnie dlatego metody kopiowania plików na poziomie odłączania/dołączania i/lub systemu operacyjnego nie są zbyt użytecznymi metodami tworzenia kopii zapasowych (lub migracji, jeśli o to chodzi) dla SQL Server. Potrzebujesz odpowiedniego planu tworzenia kopii zapasowych/odzyskiwania, co oznacza wykonywanie odpowiednich kopii zapasowych pełnych/różnic/dzienników odpowiednich do tolerancji na utratę danych. A odłączenie bazy danych jest prawie zawsze gorszym pomysłem - gdy coś dzieje się z mdf
plik podczas lub po odłączeniu, masz teraz ZERO kopie Twojej bazy danych.