Mam starszą bazę danych, której koszmarnego braku projektu nie będę tu wchodził, ale pliki na serwerze są (względnie) ogromne. Mam:
MyDatabase.mdf: 24,8
GB MyDatabase.ldf: 114,6 GB
Ta baza danych jest tworzona co noc w pliku .bak i wysyłana na nasz serwer raportowania, gdzie jest przywracana. Plik .bak jest znacznie mniejszy i ma zaledwie 1,8 GB.
Jednak gdy próbuję przywrócić go na serwerze raportowania, kończy się niepowodzeniem z powodu niewystarczającej ilości miejsca. Na serwerze jest około 100 GB wolnego miejsca i stara się pochłonąć całe 139,4 GB, które pliki zużyły na oryginalnym serwerze. O ile moja wiedza na temat kompresji nie jest strasznie nieprawidłowa, jestem całkiem pewien, że plik 1,8 GB tak naprawdę nie rozszerza się o 7400%.
Moje pytanie: Czy jest jakiś sposób, aby powiedzieć SQL Serverowi, aby przywrócił ten plik kopii zapasowej bez rezerwowania tego miejsca z góry? Nie dbam o żadne dzienniki; Potrzebuję tylko danych, żeby tam być. Rozumiem bazy danych z perspektywy programowania i schematu, ale w żadnym wypadku nie jestem DBA.
To jest na SQL Server 2008 R2. Dziękuję za wszelką pomoc lub sugestie.
źródło
SQL Server 2012 pozwala na użycie tylko pliku mdf bazy danych i dołączenie go do SQL Server: http://msdn.microsoft.com/en-us/library/ms174385.aspx . SQL Server tworzy nowy plik ldf, w którym można określić rozmiar. Następnie:
źródło