{"id":290,"date":"2013-03-13T19:41:51","date_gmt":"2013-03-13T18:41:51","guid":{"rendered":"http:\/\/blog.systemconnect.dk\/?p=290"},"modified":"2014-01-31T08:03:07","modified_gmt":"2014-01-31T07:03:07","slug":"det-er-ikke-storrelsen-det-kommer-an-pa","status":"publish","type":"post","link":"https:\/\/scblog.lynge.org\/?p=290","title":{"rendered":"Det er alts\u00e5 ikke st\u00f8rrelsen det kommer an p\u00e5!"},"content":{"rendered":"<p>&#8230;i hvert fald ikke st\u00f8rrelsen af en C5 SQL-installations LOG-fil p\u00e5 SQL-serveren.<\/p>\n<p>Lidt baggrund:<br \/>\nEn SQL-server holder naturligvis godt styr p\u00e5 din data. Den gemmer dem i en eller flere databasefiler, hvor den hurtigt kan finde din data frem igen eller opdatere dem n\u00e5r C5 beder om det.<\/p>\n<p>Men faktisk holder den ogs\u00e5 styr p\u00e5 alle \u00e6ndringer af dine data. Det sker i en s\u00e5kaldt log-fil hvor ALLE opdateringer af data registreres. I praksisk kan man derfor (hvis man ved hvad man g\u00f8r) spole frem og tilbage i opdateringer &#8211; fx. ifm. at genskabe data efter et stort nedbrud. Eller man kan lave en komplet databasekopi hver nat &#8211; og s\u00e5 blot tage kopi af log&#8217;en flere gange i l\u00f8bet af dagen.<\/p>\n<p>Men en komplet kopi af databasen og kopi af en efterf\u00f8lgende log-fil, kan man s\u00e5 at sige gendanne databasen som den s\u00e5 ud til et hvilket som helst tidspunkt mellem den komplette kopi og tidspunktet for logfilen ved at &#8220;spole&#8221; frem og tilbage i logfilen&#8230;<\/p>\n<p>Nu er det faktisk de f\u00e6rreste C5 installationer der har brug for det her\u00a0&#8211; en kopi af SQL-databasen uden log er som regel nok. Men\u00a0bruger man ikke et backupsystem der kender til logfilen &#8211; eller ikke ops\u00e6tter det til at t\u00f8mme logfilen efter hver komplet backup af databasen, ja s\u00e5 vokser logfilen i en uendelighed &#8211; og bliver til sidst mange gange st\u00f8rre end din C5 database. Og bruger man den ikke er det jo ren spild!<\/p>\n<p>NB: Det er temmeligt komplekst at &#8220;spole&#8221; frem og tilbage i s\u00e5dan en log-fil, s\u00e5 det vil ikke blive beskrevet n\u00e6rmere i dette indl\u00e6g.<\/p>\n<p>Hvordan slipper man s\u00e5 for den der log?<br \/>\nDet letteste er faktisk n\u00e5r man opretter databasen. Enhver SQL-database har en option der hedder &#8220;Recovery Model&#8221;. S\u00e6ttes denne til &#8220;Simple&#8221;, ja s\u00e5 fort\u00e6ller man SQL-serveren at man ikke har t\u00e6nkt sig at bruge log-filen til noget. Og s\u00e5 bruger SQL-serveren den kun til at holde styr p\u00e5 transaktioner og holder den derfor selv s\u00e5 lille s\u00e5 mulig.<\/p>\n<p>Optionen kan naturligvis ogs\u00e5 s\u00e6ttes EFTER databasen er sat i drift. S\u00e5 virker det s\u00e5dan fremadrettet, men der frigives ikke allerede allokeret log-plads.<\/p>\n<p>Bem\u00e6rk: Hvis du af en eller anden grund IKKE \u00f8nsker at skifte &#8220;Recovery Model&#8221; til &#8220;Simple&#8221;, men blot \u00f8nsker at f\u00e5 markeret log-pladsen som om der allerede er taget backup af den og den derfor er frigivet, s\u00e5 kan SQL-kommandoen &#8220;BACKUP LOG &lt;databasenavn&gt; TODISK=&#8217;NUL:&#8217; &#8221; g\u00f8re tricket.<br \/>\nFint nok &#8211; jeg har skiftet en gammel database til &#8220;Simple&#8221;\/k\u00f8rt ovenst\u00e5ende BACKUP LOG-kommando og nu vil jeg s\u00e5 gerne have log-filen til faktisk ogs\u00e5 at blive mindre!<br \/>\nJamen s\u00e5 k\u00f8rer du da bare en &#8220;DBCC SHRINKFILE(&#8216;&lt;logfilens navn&gt;&#8217;,1)&#8221; p\u00e5 SQL-serveren. Logfilens navn vil typisk v\u00e6re &lt;databasenavn&gt;_log, men du kan checke det i egenskaber p\u00e5 databasen i SQL manageren. Og nu hvor du er inde i den s\u00e5 er der faktisk ogs\u00e5 et menupunkt der g\u00f8r det samme n\u00e5r du h\u00f8jreklikker p\u00e5 databasen: Tasks \/ Shrink \/ Files&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8230;i hvert fald ikke st\u00f8rrelsen af en C5 SQL-installations LOG-fil p\u00e5 SQL-serveren. Lidt baggrund: En SQL-server holder naturligvis godt styr p\u00e5 din data. Den gemmer dem i en eller flere databasefiler, hvor den hurtigt kan finde din data frem igen &hellip; <a href=\"https:\/\/scblog.lynge.org\/?p=290\">L\u00e6s resten <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37,6,4],"tags":[15,43,13,22,11,23,53,14,28],"class_list":["post-290","post","type-post","status-publish","format-standard","hentry","category-klassisk-c5","category-klassisk-c5-support","category-klassisk-c5-teknik","tag-business-solutions","tag-c5","tag-damgaard-data","tag-database","tag-dynamics","tag-hint","tag-klassisk-c5","tag-microsoft","tag-sql"],"_links":{"self":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts\/290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=290"}],"version-history":[{"count":7,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts\/290\/revisions"}],"predecessor-version":[{"id":418,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts\/290\/revisions\/418"}],"wp:attachment":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}