24. august 2011 - 21:33Der er
7 kommentarer og 1 løsning
reducer databasestørrelse giver større database
Hej, Vi kører C5 version 4.0. (på en XP maskine) Vi er lige ved at nå den øvre grænse for hvor meget databaseplads vi har til rådighed, og derfor ville jeg slette nogle gamle år. Efter at have slettet, kørte jeg kørslen der reducerer databasestørrelsen, men ak, selv om jeg slettede 2 regnskabsår, så blev database størrelsen forøget 5 %. Er der noget jeg gør forkert?
det er en nativ3e db. vi har koder til 295 MB og vi bruger lige nu 296 MB. Hvis jeg kører "reducer database størrelse" uden at slette regnskabsår, ender jeg med 315 MB, og så er der intet der kan køre mere.
Jeg må tilstå at jeg ikke helt nøjagtigt ved hvad "reducer database størrelse"-funktionen gør, men i versionerne før 3.x har jeg med succes kunne reducere databasens størrelse betragteligt ved at
1) Køre multieksport af databasen. 2) Oprette et nyt regnskab/en ny database 3) Køre multiimport af de eksporterede data i den nye database.
Dermed får du effektivt defragmenteret din database, da alle poster ved en multiimport indsættes på ny, og databasen allokerer kun den plads der skal til for at indsætte disse poster. Der vil dermed ikke ligge noget "tom plads", som nativedatabasen er meget dårlig til at genanvende.
Du kan prøve at køre den manøvre på en total kopi af systemet. Dermed kan du også kontrollere om saldi nu også er de samme, i den nye defragmenterede database.
ok, reducer db-størrelsen består af 3 dele: export af tabeller slet og opret nyt regnskab import af tabeller. Det er så i version 4 lagt sammen i en kørsel under administration.
Der er en naturlig forklaring på at Native databasen bliver større.
Når C5 skal komprimere poster summeres f.eks. finansposter for en måned. Summerne bliver skrevet i NYE finansposter, som gør at databasen vokser. De "gamle" poster slettes dog i samme ombæring.
C5 genbruger normalt ledige områder i databasen, men kan ikke skrive de nye poster ned i samme område, som de gamle var i. Det hele skal foregå i een transaktion, som skal kunne rulles tilbage. Hvis de gamle poster blev overskrevet inde i transaktionen ville der ikke være noget at rulle tilbage til.
En "posteringskomprimering" har dog den effekt, at fremadrettet vokser databasen ikke så meget.
OK, kommentarerne var fine, men adresserede ikke lige problemet. Der findes faktisk en løsning i C5, nemlig funktionen "Nuller" i databasen. Denne funktion frigiver rent faktisk pladsen. /Hans
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.