2007-03-05, 20:32
#1
Hej,
Det var en gång en 380 GB stor databas. Denna databas har det körts script på för att trunkera en hel mängd tabeller, så att det faktiskta datat i databasen inte tar mer än 12 GB. Ett bevis på att det inte är mer än 12 GB data i databasen är att en backupfil av databasen blir 12 GB stor. MSSQL-backup plockar bort "luft", men komprimerar inte backupfilen. Jag har gjort en mängd olika försök att krympa databasen, men lyckas inte. Datafilen bör se ut som en schweizerost, stora tomrum som kan trollas bort. Men jag går bet...
Vad har jag då försökt med?
Shrink via GUI, både på database och files. Valt option för att reorganisera utrymme så att datafilen kan släppa utrymme och krympa.
Shrink via kommandot "DBCC SHRINKDATABASE" och "DBCC SHRINKFILE".
Options. TRUNCATEONLY. Har även testat att ange hur stort ledigt utrymme i procent som ska lämnas i datafilen efter shrink (varav jag valde 1%), och har testat att tala om hur stor jag vill att datafilen ska vara efter shrink. Dessa kommandon har jag även testat med parametern autoshrink satt till TRUE.
Har också defragmenterat index.
Testade en annan variant, och det var att exportera databasen via export wizard. Kopiera alla tabeller till en ny, tom, databas. Det gick sådär. Datafilen för den nya databasen blir bara 1 GB, när den borde bli 12 GB. Vetefan var övrigt data tar vägen, eller ens vilken data som kopierats över, och vilken data som inte kommit över.
Hmm, det får bli min andra fråga. Finns det något icke-kommersiellt verktyg eller script för att jämföra två databaser på objektnivå? Dvs. som listar objektonamn och dess storlek för de båda databaserna på ett överskådligt sätt?
*hoppas att det sitter en MSSQL 2005 guru därute med svar på min fråga*
Det var en gång en 380 GB stor databas. Denna databas har det körts script på för att trunkera en hel mängd tabeller, så att det faktiskta datat i databasen inte tar mer än 12 GB. Ett bevis på att det inte är mer än 12 GB data i databasen är att en backupfil av databasen blir 12 GB stor. MSSQL-backup plockar bort "luft", men komprimerar inte backupfilen. Jag har gjort en mängd olika försök att krympa databasen, men lyckas inte. Datafilen bör se ut som en schweizerost, stora tomrum som kan trollas bort. Men jag går bet...
Vad har jag då försökt med?
Shrink via GUI, både på database och files. Valt option för att reorganisera utrymme så att datafilen kan släppa utrymme och krympa.
Shrink via kommandot "DBCC SHRINKDATABASE" och "DBCC SHRINKFILE".
Options. TRUNCATEONLY. Har även testat att ange hur stort ledigt utrymme i procent som ska lämnas i datafilen efter shrink (varav jag valde 1%), och har testat att tala om hur stor jag vill att datafilen ska vara efter shrink. Dessa kommandon har jag även testat med parametern autoshrink satt till TRUE.
Har också defragmenterat index.
Testade en annan variant, och det var att exportera databasen via export wizard. Kopiera alla tabeller till en ny, tom, databas. Det gick sådär. Datafilen för den nya databasen blir bara 1 GB, när den borde bli 12 GB. Vetefan var övrigt data tar vägen, eller ens vilken data som kopierats över, och vilken data som inte kommit över.
Hmm, det får bli min andra fråga. Finns det något icke-kommersiellt verktyg eller script för att jämföra två databaser på objektnivå? Dvs. som listar objektonamn och dess storlek för de båda databaserna på ett överskådligt sätt?
*hoppas att det sitter en MSSQL 2005 guru därute med svar på min fråga*