flasche
Goto Top

MSSQL Datenbank voll bzw. Festplatte - Datenbank Wartungen?

Ich habe keine Ahnung von MSSQL

Hallo zusammen,

ich habe wenig Ahnung von MSSQL.
Jedenfalls haben wir das Problem das unsere Datenbank bzw. die Partition wo die Datenbank liegt voll ist (130GB).
Ich habe mal in den Wartungstasks (vom Management Studio) geschaut dort sind noch keine definiert.

Es gibt dort mehrer möglichkeiten wie z.B. Wartungscleanup, Verlaufscleanup usw.

Kann ich einen der Wartungstasks anlegen und ausführen ohne das etwas schlimmeres passiert?
Ich würde ja gerne vorher ein Backup machen allerdings weiss ich nicht ob die Zeit reicht. Zudem kommt noch das das Managemant Studio keine gemappten Laufwerke erkennt.

Es handelt sich um eine MSSQL 2005 Datenbank.

Ich habe auch schon alte Datenbanken die nicht mehr benötigt werden komplett gelöscht allerdings wird der Speicherplatz scheinbar nicht freigegeben.

Ich bitte um eure Hilfe.
Vielen Dank
Kommentar vom Moderator Biber am Sep 09, 2009 um 16:41:15 Uhr
Beitrag verschoben von "Windows Server" nach "Datenbanken".

Content-Key: 124589

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

Printed on: April 20, 2024 at 01:04 o'clock

Mitglied: 60730
60730 Sep 09, 2009 at 15:09:41 (UTC)
Goto Top
Servus,
Zitat von @Flasche:
Hallo zusammen,

Kann ich einen der Wartungstasks anlegen und ausführen ohne das
etwas schlimmeres passiert?

Im Gegenteil, weil die noch nicht angelegt / gelaufen sind - Hast du das Problem.

Ich würde ja gerne vorher ein Backup machen allerdings weiss ich nicht ob die Zeit reicht.
Im Prinizip ist ein Backup immer gut, wenn die Platte aber wirklich randvoll ist - kann auch der Wartungstask Probleme machen. Er saugt ja aus der DB die Daten und schreibt Sie in eine neue DB. Dazu braucht der Platz.

Ich habe auch schon alte Datenbanken die nicht mehr benötigt
werden komplett gelöscht allerdings wird der Speicherplatz
scheinbar nicht freigegeben.
Weil das Compress nicht gelaufen ist.. Ergo "normal"

Ich bitte um eure Hilfe.
Vielen Dank
Schau halt, dass du soviel wie möglich von der Platte löscht / verschiebst, das du wirklich nicht brauchst.

Gruß
Member: tha-a
tha-a Sep 09, 2009 at 15:33:15 (UTC)
Goto Top
was für ein SQL Server ist es

2005 läuft der Wartungsassistent bzw. Clean erst ab sp3 richtig 9.04 etc!
2008 expres sowei SQL Server 2008 --> läuft eigentlich ohne probleme

ansonsten kann man auch eine batch datei starten

shrinkdatabase "dateiname" -->verkleinert das ganze

backupdatabse "dateiname".bak sichert

ansonsten guter link http://blogs.sqlserverfaq.de/Lists/Beitraege/Post.aspx?ID=23
Member: Flasche
Flasche Sep 09, 2009 at 16:59:05 (UTC)
Goto Top
Genau da ist mein Problem.

Auf der Platte sind noch genau 50MB frei!

da ist nichts mehr zum verschieben drauf!

Wie geh ich denn nun am besten vor? Ab 20 Uhr kann ich Anfangen dann ist nur noch die Nachtschicht da und die greifen nur sehr selten auf die DB zu!
Member: 1002-btl
1002-btl Sep 09, 2009 at 17:24:22 (UTC)
Goto Top
Hallo,

vielleicht steht ja noch ein zweiter MSSQL Server zur Verfügung. Auf den könnten die Datenbanken kopiert und komprimiert werden. Wenn alles fertig ist, werden die kleineren DBs wieder zurück kopiert.
Member: mrtux
mrtux Sep 09, 2009 at 17:40:52 (UTC)
Goto Top
Hi !

Zitat von @Flasche:
ich habe wenig Ahnung von MSSQL.

Ein unnötiger Satz. face-smile

Ich habe mal in den Wartungstasks (vom Management Studio) geschaut
dort sind noch keine definiert.

Wer betreut die Datenbank? Du? face-smile

Ein gut gemeinter Rat: Mach keine Blitzaktionen, erst eine Datensicherung durchführen, dann erst wilde Aktionen starten. Bei eurer Datenbank wurde schon genug herum geschlampt, da muss Datenverlust nicht auch noch mit dazukommen. Und ein Grundkurs in Datenbankadministration würde sich auch gut machen. face-smile

mrtux
Member: Flasche
Flasche Sep 09, 2009 at 17:56:59 (UTC)
Goto Top
Der, der das betreut hat den gibt es leider nicht mehr

Ja werde dann jetzt mal anfangen mit DB Sicherung.

Wie kann ich denn auf ein Netzlaufwerk sichern... das lässt das Management Tool auch nicht zu.

Edit

Habe noch einen Ordner, in dem Ordner der DB gefunden. Dieser nennt sich REPLDATA ist ca 4GB groß Daten (irgendwelche Tabellen) aus 01.2009 drin.

Sind das eventuell überbleibsel von DB Rücksicheurngen?
Member: MadMax
MadMax Sep 09, 2009 at 22:27:59 (UTC)
Goto Top
Moin Flasche,

wahrscheinlich bissl spät, aber ich schreibs trotzdem mal.

Wenn Du auf ein Netzlaufwerk sichern willst, dann solltest Du ausnutzen, daß die Nachtschicht nicht oder kaum auf die DB zugreift und die DB runterfahren. Dann kannst Du die DB-Dateien *.mdf und *.ldf ganz normal irgendwo ins Netz kopieren.

Weitere Möglichkeit wäre noch der Anschluß einer externen Festplatte. Das geht im laufenden Betrieb und ist dann ein lokales Laufwerk. 130 GB paßt ja schon fast auf einen USB-Stick face-smile

Und nur weil die eine Partition voll ist geht keine Sicherung? Mehr Platten oder Partitionen sind nicht im Server?

Wenn die DB gesichert ist, dann sicher auch unbedingt noch das Transaktionsprotokoll, wahrscheinlich ist das nämlich total aufgebläht, weil es nie gesichert wurde. Anschließend wirst Du auch die DB verkleinern können.

Gruß, Mad Max
Member: Flasche
Flasche Sep 10, 2009 at 03:34:16 (UTC)
Goto Top
könnte ich auch um erstmal an Speicherplatz zu kommen das Laufwerk von Windows aus Kompremieren lassen?
Member: Logan000
Logan000 Sep 10, 2009 at 06:22:07 (UTC)
Goto Top
Moin Moin

Zitat von @Flasche:
könnte ich auch um erstmal an Speicherplatz zu kommen das
Laufwerk von Windows aus Kompremieren lassen?
Komprimiere keine LW auf denen sich Datenbanken (.mdf, .ldf) befinden. Das ist wenig erquickend.
Ansonsten kannst du das natürlich versuchen, aber ich würde nicht zuviel erwarten.

Gruß L.
Member: Netzheimer
Netzheimer Sep 11, 2009 at 09:03:03 (UTC)
Goto Top
Hallo

Ich vermute, dass die größte Anzahl der Daten in den Transaktionsprotokollen liegen. Jede Transaktion verursacht einen Eintrag. Wenn man das Protokoll nicht (teilweise) per Backup löscht, wird das Ding schneller groß als die eigentlichen Daten.

Schau als erstes mal in der Hilfe nach unter "Backup Database" und befasse dich mit Fullbackup und Transaktionsprotokollen. Das so genannte inkrementelle Backup gibt es in der Form nicht. Diesem entspricht aber die Prüfung, Sicherung und das Abschneiden des Transaktionsprotokolls.

Es lassen sich auch Netzlaufwerke zur Sicherung einbinden. Diese am Besten als Sicherungsmedium (Serverobjekte) einbinden und auch ansprechen.

Auf Kompression würde ich vorerst verzichten und erst darüber nachdenken, wenn nach den vorher genannten Aktionen immernoch kein Platz ist.

Gruß
Netzheimer
Mitglied: 60730
60730 Sep 11, 2009 at 09:31:15 (UTC)
Goto Top
Zitat von @Netzheimer:
Hallo

Ich vermute, dass die größte Anzahl der Daten in den
Transaktionsprotokollen liegen. Jede Transaktion verursacht einen
Eintrag. Wenn man das Protokoll nicht (teilweise) per Backup
löscht, wird das Ding schneller groß als die eigentlichen
Daten.
/snip

yupp

Ergo:

Wenn die DB gestoppt wird - und ein Image der Partition(en) gezogen wurde - kann man auch getrost mit diesen Daten (auf einer anderen Hardware - die nicht am Netz hängt) (experimentieren)
Member: Flasche
Flasche Sep 11, 2009 at 16:12:40 (UTC)
Goto Top
Problem ist gelöst.

Das Log wurde über das Management Tools über Verkleinern -> Dateien - > LOG der DB mit einer XXXXMB verkleinert.

Datenbank läuft noch! face-smile
Member: TiCar
TiCar Sep 14, 2009 at 19:48:15 (UTC)
Goto Top
Hi,

glück gehabt, dass dies noch ging. Für den Fall dass es mal nicht mehr geht hier noch ein paar ergänzende Tipps.

1. DB Scherung einrichten, da dann das Translog nicht unkontroliert wächst.

2. Evtl. das Translog begrenzen

3. Wenn nichts mehr geht. Per hand die DB detachen. Danach die LDF löschen und die DB wieder mit richtigem Pfad für MDF und LDF atachen. Dabei wird wieder eine kleine translog LDF erstellt.

Wenn es dumm läuft und zu wenig Platz ist, geht allerdings nicht mal mehr das.

Wie gesagt - Glück gehabt.