neueradmuser
Goto Top

SQL 2000 - mdf 15GB und ldf mit 200GB - wie verkleinern, warten, pflegen

Hi, ich bin absoluter Newbie was SQL angeht.

wie haben eine Datenbank mit 15GB (mdf-datei) und auf dem gleichen Raid1 eine 200GB große LDF datei.
Die Anwendung an sich ist auch in meinen Augen extrem langsam geworden...
leider ist nun auch das Raid absolut voll. ich habe bereits ein neues Laufwerk eingebaut und wollte erst die ganze DB rüberziehen...

oder würde es sinn machen nur die 200GB große LDF datei auf ein neues Laufwerk zu verschieben? die mdf mit 15 GB paßt problemlos auf meine 230GB Partition... nur die 200GB ldf datei stört bis dato

nun würde ich gerne die LDF datei verkleinern...
Da sie sooo groß ist läßt dies ja auch auf die bisherigen Wartungsarbeiten zurückführen - ich würde behaupten die sind einfach nicht vorhanden.

Was kann ich also machen um die ldf auf dauer klein zu halten und die datenbank zu beschleunigen?
es werkeln ca 20 user zeitgleich mit der entsprechenden Anwendung

danke für input face-smile
Gruß

Content-Key: 156794

Url: https://administrator.de/contentid/156794

Printed on: April 19, 2024 at 23:04 o'clock

Mitglied: 45877
45877 Dec 11, 2010 at 11:52:36 (UTC)
Goto Top
Hallo,

macht ihr Backups von der DB und wenn ja wie?
Mach mal im SQL Manager eine Sicherung der DB und schau dir
vorher das Wiederherstellungsmodell an. Was ist eingestellt?
Member: neueradmuser
neueradmuser Dec 11, 2010 at 12:01:16 (UTC)
Goto Top
hi, bin gerade im SQL Server Enterprise Manager unterwegs...
Backups von der DB? wirds wohl nicht geben ausser ein tägliches Server Image

kann bei der sql datenbank sicherung irgendwas schiefgehen?
das wiederherstellungsmodel ist genau was? ;)
habe auf anhieb dazu nix gefunden ausser "datenbank wiederherstellen"...
Member: affabanana
affabanana Dec 11, 2010 at 12:42:10 (UTC)
Goto Top
Hallo zusammen

Die ldf Datei ist das LOG der Datenbank.
Es werden alle Transaktionen zuerst einmal ins Log geschrieben.
Und erst danach in die eigentliche Datenbankdatei mdf.

Du solltest mal nach Backup sql 2000 suchen und
mal ein Log backup machen.

Oder wenn Ihr ein ImageBackup von dem Server macht vielleicht auch das Datenbank Modell auf Simpel einstellen.
Damit wird die ldf nicht mehr so gross.

Der Vorteil beim anderen Modell ist das man bei Kotuppten Dante ganz einfach die letzte Vollbackup zurückspielt und dann noch die Log-dateien bis zu dem gewünschten Zeitpunkt.

Wenn jetzt aber wie bei euch nie ein Backup vom SQL Log gemacht wurde, wird dieses immer grösser.
Nach dem Backup werden die alten Einträge gelöscht und die Datei wird mit der zeit wieder kleiner.


back-to-topKauf dir ein SQL Buch

Und mach dich Selber schlau was man wie machen sollte.

gruass affabanana

PS: Backup ImageBackup ist halt nicht so der Sinn bei SQL Servern oder Exchange oder Domaincontrollern.
Mitglied: 45877
45877 Dec 11, 2010 at 12:47:49 (UTC)
Goto Top
Hallo,

wie tägliches Image vom Server?
Afaik sichert ihr ohne SQL Agent nur Datenmüll....
Nein, eigentlich kann eine Sicherung nichts kaputt machen. Bei unserem SQL 2000 steht
das wiederherstellungsmodell auf einfach, dei Logs werden bei jeder täglichen
sql Sicherung abgeschnitten.
Am besten mach mal eine Sicherung mit den jetztigen Einstellunegn, dann stell das Wiederherstellungsmodell auf einfach,
sicher nochmal und deine ldf sollte ~1MB sein.
Member: neueradmuser
neueradmuser Dec 12, 2010 at 12:56:08 (UTC)
Goto Top
sooo, ich hab nun mal ne sicherung gemacht, keine veränderung...
dann hab ich BACKUP LOG [MyDatabase] WITH TRUNCATE_ONLY versucht - keine veränderung

dann hab ich den wiederherstellungsmodus entdeckt --> stand auf komplett
dann auf einfach umgestellt...
dann erneute sicherung gemacht...

kein erfolg - ldf hat immernoch 200GB face-sad
Member: goscho
goscho Dec 12, 2010 at 14:54:09 (UTC)
Goto Top
Zitat von @neueradmuser:
dann hab ich den wiederherstellungsmodus entdeckt --> stand auf komplett
dann auf einfach umgestellt...
dann erneute sicherung gemacht...

kein erfolg - ldf hat immernoch 200GB face-sad
Bei dir muss etwas nicht stimmen.
Dies habe ich schon bei dutzenden Dstenbanken gemacht und es hat immer geklappt.
Wiederherstellungsmodell auf 'einfach' gestellt und eine Datensicherung der Datenbank gemacht.
Was hast du bei der Sicherung eingestellt?
Member: MadMax
MadMax Dec 13, 2010 at 14:39:13 (UTC)
Goto Top
Moin nightwishler,

wenn keine automatische DB-Verkleinerung eingestellt ist (ging das bei SQL Server 2000 überhaupt?), dann wird durch eine Transaktionsprotokollsicherung oder das Abschneiden des Protokolls nur der Platz innerhalb der Datei freigegeben, die Dateigröße bleibt aber bestehen, bis die Datei selber verkleinert wird.

Wenn Du ein SQL Server Management Studio zur Verfügung hast, dann geht das über Rechtsklick auf der DB, Tasks, Verkleinern.

Im Enterprise Manager vom SQL Server 2000 gabs das glaube ich nicht. Da muß man dann im Query Analyzer mit dbcc shrinkdatabase oder dbcc shrinkfile die DB oder eine Datei verkleinern.

Und die ganz brutale Tour heißt: Datenbank trennen, Protokolldateien (*.ldf) löschen und Datendateien (*.mdf) wieder anfügen. Dabei wird dann eine leere Protokolldatei wieder erstellt. Trennen und anfügen geht auch wieder im SQL Server Management Studio im Kontextmenü (Datenbanken/Anfügen... bzw. <DB>/Tasks/Trennen...) oder im Query Analyzer über sp_detach_db und sp_attach_db.

Die genaue Syntax für dbcc shrinkdatabase/shrinkfile und sp_detach_db/sp_attach_db gibt es in der Hilfe.

Und ich weiß ja nicht, wie wichtig Eure Daten sind, aber wenn Ihr im Falle von Problemen wieder möglichst nah an Euren Datenstand kommen wollt, solltet Ihr das Wiederherstellungsmodell auf vollständig lassen und für eine Leerung der Protokolldatei sorgen, indem Ihr das Transaktionsprotokoll sichert.

Möglicherweise lohnt sich für Euch auch mal der Besuch eines Fachmanns, der Eure Datensicherung passend für Euch einstellt. Kostet zwar erst mal Geld, kann aber womöglich am Ende einiges an Geld und Ärger ersparen.

Gruß, Mad Max
Member: Zareth
Zareth Dec 13, 2010 at 15:08:30 (UTC)
Goto Top
Das mit der Log Datei ist ein bekannter Bug bei MS!

Stell das log auf einfach und es ist plötzlich winzig... wenn nicht kannst Du über den Enterprise Manager den leeren Platz freigeben...

Viel Erfolg!