Hét vraag- en antwoordplatform van Nederland

Hoe maak ik de transactielog kleiner bij een MS SQL Server 2005 database?

Ik heb ongeveer 15 databases en van een aantal is de transactielog net zo groot of iets groter dan de database. De database staat op de webserver en heeft momenteel performance problemen. Volgens discussiefora kán de performance verslechtering komen door de grote groei van de transactielog. Dat wil ik eerst eens onderzoeken.

Graag wil ik (eenvoudig uitgelegd) weten welke handelingen ik moet doen om de transactielog op de juiste manier te verkleinen. Het verwijderen van de log blijkt namelijk niet verstandig te staan i.v.m. de backupstrategie (staat op full). Op MSDN staat iets dat ik eerst een backup moet maken, maar waarvan en hoe (en wat ik dan met de backup moet doen) is me niet duidelijk.

Ik ben (duidelijk) geen SQL Server specialist, dus ik heb het meest aan antwoorden waarin het duidelijk staat uitgelegd, liefst met een stappenplan en plaatje. Ik vrees dat ik dit keer aan links naar de specilistenfora niet veel heb, want die heb ik al doorgespit. Misschien is er hier iemand die een duidelijk antwoord kan geven! Mijn dank zou groot zijn.

Toegevoegd na 43 minuten:
NB. Moet ik verder nog iets doen, zoals de database offline brengen? Ik zou sowieso de webserver even uit kunnen zetten zodat er geen nieuwe transacties bij kunnen komen.

Verwijderde gebruiker
14 jaar geleden
in: Software
2.8K

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Het beste antwoord

Het antwoord staat op de link hieronder (onderdeel "Trim SQL Database Space"). Een collega die als SQL expert werkt, heeft dit script al meerdere malen gedraaid om transaction logs te verkleinen en dat werkt prima.

Je kunt op deze manier je logs terugbrengen tot nog geen 1 MB, waar deze voorheen bijvoorbeeld meerdere GB's groot was. Dus een flinke winst vwb de beschikbare ruimte op je harde schijf.

Toegevoegd na 3 minuten:
Let er wel op dat ze zijn getest op SQL Server 2000, maar zoals op de website wordt aangegeven, zou het ook voor latere versies correct moeten werken.
(Lees meer...)
Verwijderde gebruiker
14 jaar geleden
Verwijderde gebruiker
14 jaar geleden
Dat script ziet er serieus goed uit. Het is dezelfde methode als: 1. backup maken database
2. shrink log file Maar dan met veel meer stappen en controles. Ik zal morgen eens een test doen.
Verwijderde gebruiker
14 jaar geleden
Dit script werkte echt fantastisch.

Andere antwoorden (2)

Hoewel geen juist antwoord in deze, lijkt het mij wel dat deze logs al zijn opgenomen in de back-ups. dus feitelijk kun je een en ander wissen zonder verlies.

Toegevoegd na 17 minuten:
Oudere logs bedoel ik om ruimte vrij te maken.
(Lees meer...)
Verwijderde gebruiker
14 jaar geleden
Verwijderde gebruiker
14 jaar geleden
Volgens Microsoft niet omdat het openstaande transacties zou bevatten. De backup van vannacht bevat dan de log van gisteren en niet die van vandaag.
Verwijderde gebruiker
14 jaar geleden
Maar dan nog, ik weet het antwoord op de vraag echt niet helemaal, dus ik zoek het liefst een uitgebreid antwoord wat je dan wel moet doen en vooral hoe.
AWM
14 jaar geleden
Je TRANSACTIELOG WISSEN? Volgens mij weet je echt niet wat het is en waar je het over hebt. Bij ons mag je in elk geval geen systeembeheer komen doen :)
Verwijderde gebruiker
14 jaar geleden
Microsoft, heeft gelijk. Je kijkt een dag terug.
AWM
14 jaar geleden
Eén ding: Je mag je transactionlog NOOIT wissen.
Je helpt daarmee je database volledig om zeep.
Verwijderde gebruiker
14 jaar geleden
Het probleem is dat de transactielog ergens ongewenst groeit. IN dit geval ga ik (nog) niet uitzoeken welke SQl statements hiervoor zorgen. Ik heb wel een rapportagetool en die geeft niets bijzonders aan. Het zou mij helpen als er een duidelijke methode is hoe ik af entoe wél veilig een transactielog kan verkleinen. Wat de transactielog doet/is weet ik, anders had ik de vraag niet gesteld.
Verwijderde gebruiker
14 jaar geleden
Die log mag je nooit verwijderen -1
Verwijderde gebruiker
14 jaar geleden
Dacht dat ik dat al had aangegeven. Iedereen kan zich vergissen
Verwijderde gebruiker
14 jaar geleden
@Jeroen: dat klopt, ik licht alleen mijn min toe.
Dit helpt je niet verder?

How to use the DBCC SHRINKFILE statement to shrink the transaction log file in SQL Server 2005
(Lees meer...)
AWM
14 jaar geleden

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 5000
Gekozen afbeelding