Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Ldf Datei von einer SQL DB immer klein halten

Frage Entwicklung Datenbanken

Mitglied: helmuthelmut2000

helmuthelmut2000 (Level 2) - Jetzt verbinden

16.07.2014, aktualisiert 20.07.2014, 4989 Aufrufe, 5 Kommentare

Hallo,

Ich habe folgendes Problem.

In einem SQL2008R2 Express habe ich eine DB wo sich immer die ldf Datei vergrößert.
Wenn ich dann über das SQL Manage Studio die Protoklldatei sichere und dann verkleinere,
dann ist die Datei wieder klein.
Wie kann ich das ändern, damit sich die Datei nicht mehr vergrößert.

In den Datenbankoptionen habe ich Wiederherstellungsmodell: Vollständig,
kann ich das einfach so auf Einfach stellen? Bringt das erwas?
Automatisch verkleinern steht bei mir auf False, ist das Richtig?

Dann wurde die DB einmal Ursprünglich in einem SQL2000 Express erstellt, dann
in einem SQL2005 mit sichern und wiederherstellen betrieben.
Und dann mit sichern und wiederherstellen auf einem SQL2008R2 läuft die jetzt.

Da steht jetzt der Kompatibilitätsgrad auf SQL Server 2000 (80).
Kann man das einfach auf SQL Server 2008 (100) umstellen?


Gruß
Helmut
Mitglied: jsysde
16.07.2014, aktualisiert um 15:05 Uhr
Moin.

Du hast kein Problem.
Das Verhalten ist normal, bei "Wiederherstellungsmodell: Vollständig" wird eben ein Transaktionslog geschrieben, daher wird die ldf grösser. Aber: Wenn du täglich ein Transaktionslogbackup Vollbackup machst, werden die Änderungen mit ins Backup geschrieben und die Einträge aus dem Transaktionslog werden gelöscht - dadurch wird das File selbst zwar nicht kleiner, aber da nichts mehr drinsteht, können neue Einträge geschrieben werden, ohne dass das File weiter wächst.

Das Verkleinern ist imho Unsinn, also Zeit- und Resourcenverschwendung.

Wenn du das Wiederherstellungsmodel änderst, bist du nicht mehr in der Lage, nach einem Restore der Datenbank Rollbacks/Rollforwards auszuführen, sprich: Die Datenbank hat einen Zeitstempel des Backups und basta. Dann wird auch kein Transaktionslog angelegt und das ldf bleibt schön klein.

Die Kompatibilitätseinstellungen sind in diesem Zusammenhang völlig boogie, für das Funktionieren der Datenbank aber u.U. wichtig - verwendet die Software, für die diese Datenbank in Betrieb ist, eine Feature, dass es nur in SQL 2000 gibt, dann solltest du das tunlichst so lassen. Wenn das nicht gegeben ist, stell es hoch auf 2008.

Cheers,
jsysde
Bitte warten ..
Mitglied: AndreasHoster
16.07.2014 um 14:41 Uhr
Aber: Wenn du täglich ein Vollbackup machst, werden die Änderungen mit ins Backup geschrieben und die Einträge aus dem Transaktionslog werden gelöscht
Das ist so nicht korrekt.
Ein Datenbankbackup ändert das Transaktionsprotokoll nicht. Dafür muß man Transaktionsprotokollsicherungen machen.
Deswegen gibt's im T-SQL sowohl Backup Database als auch Backup Log als Befehle.

Der Vorteil des Vollständigen Wiederherstellungsmodells ist, wie jsyde schon geschrieben hat, die Möglichkeit eine Point in Time Recovery zu machen, also die Sicherung bis zu einem bestimmten Zeitpunkt einzuspielen (dazu braucht man dann die Datenbank- und die Transaktionsprotokollsicherungen), während bei einfach gibt's nur den Stand, an dem das Backup gemacht wurde.
Bitte warten ..
Mitglied: jsysde
16.07.2014 um 15:04 Uhr
Moin.
Zitat von AndreasHoster:
Ein Datenbankbackup ändert das Transaktionsprotokoll nicht. Dafür muß man Transaktionsprotokollsicherungen machen.

You're right. Sorry, da hab ich gepennt.

Cheers,
jsysde
Bitte warten ..
Mitglied: drobskind
LÖSUNG 16.07.2014, aktualisiert 20.07.2014
Eine Verkleinerung macht wenig Sinn.
Wie jsysde schon sagt, wächst das File danach ja eh wieder bis das nächste Backup läuft.
Eine Verkleinerung (Shrink) ist sogar von Nachteil, da dadurch das Transactionlog fragmentiert wird und somit die Performance der Datenbank beeinträchtigen kann.

http://blogs.technet.com/b/austria/archive/2011/03/08/sql-server-the-tr ...

Gruß
Bitte warten ..
Mitglied: helmuthelmut2000
20.07.2014 um 19:30 Uhr
Hallo,

Ich habe das jetzt so gelöst:

Ich mache einmal am Tag eine kompl. Sicherung. Mit:

"C:\Programme\Microsoft SQL Server\100\Tools\binn\SQLCMD.EXE" -S server\distanz -E -i C:\db_backup\DB_Name.sql -o C:\db_backup\DB_Name_BackupLog.txt

Und jede stunde mach ich ein Backup von der Protokolldatei: So:

"C:\Programme\Microsoft SQL Server\100\Tools\binn\SQLCMD.EXE" -S server\distanz -E -i C:\db_backup\DB_Name_log.sql -o C:\db_backup\DB_Name_BackupLog_log.txt

Dann das ganze ein paar Tage beobachtet und die Datei bleibt klein.

Gruß
Helmut
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Microsoft
gelöst SQL LDF Datei SHRINKFILE (7)

Frage von lupolo zum Thema Microsoft ...

Datenbanken
gelöst 1GB phpMyAdmin SQL Datei in SQL Server 2008 R2 importieren (7)

Frage von Himpke zum Thema Datenbanken ...

Datenbanken
SQL 2000 DB ist Fehlerverdächtig (3)

Frage von franksig zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...