2010-11-03 6 views
10

Mam SQL Server DB, który jest około 13 Gb z pliku dziennika 1,6 Gb. Jednak gdy go utworzę, tworzy plik .bak o wielkości 50 Gb! Dlaczego?Dlaczego tworzenie kopii zapasowych serwera SQL jest o wiele większe niż w przypadku plików DB?

Czytałem komentarz tutaj o dziennikach transakcji, ale mój DB działa na moim laptopie i nie ma działalności DB w czasie tworzenia kopii zapasowej. (Zajmuje to tylko 5 minut).

Mój typ kopii zapasowej jest pełny, mój typ odzyskiwania jest pełny i robimy kopie zapasowe. Jakieś pomysły? Bardzo doceniane!

Używam SQL 2008 R2, Developer Edition.

Odpowiedz

20

Może to być spowodowane tym, że procedura tworzenia kopii zapasowej dołącza nową kopię zapasową do tego samego pliku?

W oknie dialogowym Kopia zapasowa w programie Sql Management Studio dostępna jest opcja dołączania lub zastępowania wszystkich istniejących zestawów kopii zapasowych. Jeśli masz Dołącz, jeśli doda kopię zapasową do tego samego pliku .bak, a plik .bak będzie większy dla każdej kopii zapasowej.

W języku Transact Sql jest opcją INIT i NOINIT, która określa, czy plik bak jest nadpisywany lub dołączany.

4

W moim przypadku okazało się, że baza danych 500 MB zawiera również pełny katalog 560 MB tekstu, który zostanie dołączony do pliku kopii zapasowej. Pomyślałem, że dodam to, mimo że inna odpowiedź została przyjęta na wypadek, gdyby ktoś jeszcze był zakłopotany :)

+0

Tak, to wyjaśnia wszystko w moim przypadku! –

+0

Miałem również wiele plików zapisanych na dysku dołączonym do mojej bazy danych. –