Baggrund: Vi har 3 identiske Microsoft Access databaser i 3 forskellige lande. I SQL Server oprettes 3 databaser, en til hver af de 3 Access databaser. Alle 3 SQL Server databaser fyldes så med importeret data fra de 3 Access databaser. Herefter tilgår brugere i DK SQL Server databasen, mens de 2 andre lande fortsat indtaster i Access databaserne. Disse 2 Access databaser importeres så hver nat i SQL Server databaserne via jobs, som først sletter alle data i databaserne og dernæst importerer.
Problemet er at de 3 Access databaser i sin tid var lige store, give or take a bit, ca. 20 MB. Der indtastes omtrent lige mange data i alle 3 databaser, men et SQL Server viser at databasen i DK fylder ca. 60 MB, mens de 2 importerede databaser fylder ca. 2 GB!
Hvorfor og hvad kan man gøre for at holde dem nede i størrelse? (Logfiler er komprimeret til 1 MB)
Har du prøvet at trykke på "Shrink database"? Problemet er at alle transaktioner bliver logget, og når du hver nat sletter alt og opretter det forfra, bliver databasen lidt efter lidt meget stor.
I Microsoft SQL Server Management Studio kan du højreklikke på databasen og trykke "Tasks -> Shrink -> Database"
Du bør nok sætte et Maintenance job der "shrink"'er databasen til at køre hver nat når du har hentet data. Det kunne også være at du skulle tage og se lidt på hvordan dine tabeller er defineret. Er der fx. mange char-felter der er sat til at være store? Er der mange blanktegn i nogle af felterne? Hvad med log, bliver den fyldt ved overførslen? Sletter og (gen)Opretter du databasen når du overfører eller er din database og tabellerne defineret en gang for alle men tømmes før du loader data fra Access?
Men det er da sært at de to Access databaser fylder så markant meget mere.
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.