Neu Festplatte voll - wer kann mir helfen?

Michael_H

Aktives Mitglied
1. Februar 2016
70
2
Mein Computer hat mir mitgeteilt, daß meine Partition voll ist.
Erst dachte ich, es müsse ein Fehler sein, denn die Partition ist 1.75 TB groß ist.
Ich habe alles durchsucht und nur max. 70 GB große Servertabellen und 40 GB große Backups gefunden. Nach einigen Stunden suchen, habe ich aber doch die Datei gefunden.

Es ist die Datei
eazybusiness_log
mit 1.57 TB,

Kann mir bitte ein Fortgeschrittener erklären, wie ich die Datei verkleinern kann, ohne irgendeinen Abgleich des Connectors oder einen Datenbankeintrag zu gefährden.
Ich weiß leider gar nicht, wie ich die Datei bearbeiten kann, mit welchem Programm ich sie öffen kann und welchen Teil ich davon löschen kann. Ich habe schon Server- Log Datei verkleinert, da löscht man eben die ältesten Einträge.
Und für die Zukunft würde mich interessieren, ob ich die Einstellungen richtig habe, weil die Datei dermaßen groß ist.
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.189
180
Kaputte Datenbankkonfiguration bzw. defektes Backup-Modell!

Entweder ich sichere im Backup das Transaktionsprotokoll mit ODER ich nutze nur das einfache Wiederherstellungsmodell. Wenn Du das vollständige oder massenprotokollierte Transaktionsprotokoll aktiviert hast, MUST Du eine Transaktionsprotokollsicherung durchführen. Erst dann wird das Transaktionsprotokoll wieder verkleinert.

Also, entweder in der Datenbankkonfiguration das Wiederherstellungsmodell auf "Einfach" ändern, dann ein Backup durchführen

ODER

eine Transaktionsprotokollsicherung durchführen.

MfG

Rene
 

Michael_H

Aktives Mitglied
1. Februar 2016
70
2
Hallo Rene,
vielen Dank für Deine Hilfe!
Ich wähle den ersten Weg und ändere die Einstellungen im Server. Ich habe in SMSS auch schon die Stelle gefunden, wo ich das Wiederherstellungsmodell ändern kann. Und ich werde dann nach der Änderung ein Backup machen.
Im Moment stehen zwei Datenbanken auf "Full". Weißt Du, wo meine Daten gespeichert sind, also bei welcher Datenbank ich auf "Simple" stellen muß? In der Datenbank eazybusiness oder in ReportServer$Apesound? Ich habe gesehen, daß ReportServer$ApesoundTempDB schon auf "Simple" steht. Soll ich eazybusiness & ReportServer$Apesound auf "Simple" stellen?
datenbank.jpg
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.189
180

Michael_H

Aktives Mitglied
1. Februar 2016
70
2
Hallo Rene,
es hat leider nicht funktioniert. Ich habe eazybusiness auf "Simple" gestellt und in Wawi ein Datenbank-Backup von eazybusiness gemacht, aber die eazybusiness_log ist immer noch da in unveränderter Größe.

Zwei Dinge fallen mir ein, die ich falsch gemacht haben könnte:
- Meinstest Du, das Backup in SMSS machen?
- Ich habe mich in SMSS bein Einloggen "DESKTOP-QL7UTOT\APESOUND" gewählt. Ich kann mich aber auch als DESKTOP-QL7UTOT\WAWI" einloggen. Dann gibt es da auch eine eazybusiness. Die steht aber jetzt ohnehin auf "Simple".
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
395
Hallo Michael,

das liegt daran, dass die Wawi eben kein Backup auf Transaktionsprotokoll-Ebene macht, sondern selbst nur ein "Full" Backup auf Simple Ebene. Soll heißen, ein Wawi Backup verkleinert die TA Log-Datei nicht, so kommst Du also nicht zum Ziel.

Ehrlich gesagt kribbelt es mir in den Fingern, Dich zu fragen, warum Du das Backup Modell auf FULL stehen hattest, denn das passiert nicht von alleine passiert und man stellt das normalerweise so ein, eben WEIL man der Meinung ist, seine Backups lieber auf Transaktionsebene machen zu wollen. Das hat nämlich unbestreitbar Vorteile, weil man dann bei Fehlern im Zweifel wirklich bis auf genau die Transaktion zurückgehen kann, die das Problem mit der DB verursacht hat.

Und das Einzige, was es dann braucht, ist ein gutes Backup-Modell, dass die Sicherungen logisch in FULL, DIFF und LOG Backups aufteilt. SMSS kann das, aber auch "für lau" Tools wie das von vielen hier verwendete SQLBackupAndFTP und der von mir noch mehr geschätzte SQLBackupMaster. Baut man sich hier ein geschicktes Backup-Schema auf, dann kann man das Wiederherstellungsmodell der DB ruhig auf FULL stehen lassen, denn mit jedem LOG Backup leert sich das Transaktionslog-File wieder - und Du hast die Gewissheit, auf jede DB Katastrophe mit der Möglichkeit für granulare Backups gerüstet zu sein.

Soviel zur Belehrung (sorry), jetzt zur Lösung: Hier hast Du zwei Möglichkeiten, eine über einen DBCC SHRINKFILE(DB,FileID) Befehl, aber da Du dazu wissen musst, wie man an die FileID der Log Datei kommt und da Du ja gerade schon in SMSS unterwegs bist, hier ein Link auf eine gute und deutlich Nutzerfreundlichere Lösungsbeschreibung direkt aus dem MS Technnet und direkt für Dein Problem... :)

Und wenn Du dann noch Lust hast, und Dir ein wirklich passendes Backup-Schema aufbauen willst, dann schau doch einmal hier vorbei. Der Artikel richtet sich zwar angeblich an Einsteiger, aber er geht eben auch Schritt-für-Schritt durch die Erstellung eines mehrstufigen Backup-Plans in SMSS. Und dann würde ich Dir noch diesen Befehl ans Herz legen: DBCC CHECKDB('eazybusiness') - Der führt allerlei Checks auf Deiner Datenbank durch und man kann ihn in allen drei genannten Backup-Programmen als Vorher-SQL Befehl in die Backups einbinden, was zumindest bei den Full Backups total Sinn macht. - Damit ist die Datenkonsistenz in den Backups schon mal sicher(er). Stück für Stück zum Glück... ;)

Gruß,
Ingmar
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
395
Hallo Michael,

noch ein kleiner Nachtrag zu Deiner Unsicherheit bezüglich der Instanazen:

Du kannst ganz leicht herausfinden, welche Instanz die richtige ist, indem Du einfach ODBCAD32 aufrufst (32Bit Windows: "C:\Windows\System32\odbcad32.exe", 64Bit Windows: "C:\Windows\SysWOW64\odbcad32.exe") und dort im Reiter "System-DSN" auf "eazy" doppelklickst. Dann siehst Du unten im Fenster sofort die richige Server\Instanz Kombination, also die auf Deinem PC aktive.

Was die andere Instanz dann für einen Sinn hat, kann ich natürlich nicht sagen und natürlich könntest Du sie dann löschen, aber das habe ich nicht gesagt... :rolleyes:

P.S. Die Abkürzung heißt übrigens SSMS und nicht SMSS, man kann aber sicherlich auch MSSSMS schreiben, aber ich denke, hier weiß jeder ab 2x "S" und 1x "M" wer oder was gemeint ist.

Gruß,
Ingmar
 

Michael_H

Aktives Mitglied
1. Februar 2016
70
2
Hallo Rene und Ingmar,
vielen Dank für Eure Hilfe. Es geht wieder alles. Ich habe es über Datenbank > Tasks > Verkleinern > Dateien (Dateityp: Protokoll) hinbekommen.
Ich habe auch die Tabelle wieder auf "Full" geändert, weil es in der Tat nicht schaden kann, wenn man die Datenbankänderungen eine zeitlang loggt.
Außerdem habe ich auch "Sql Backup Master" installiert, und da werde ich jetzt einen Schedule machen, der mir die Logs regelmäßig, nachdem ein Backup gemacht wurde, zuschneidet. Und vielleicht werde ich dann noch checkdb in eine Routine reinschreiben.
 

elevennerds.de

Sehr aktives Mitglied
23. September 2015
1.189
180
Hallo,

diese Einstellung findet auf Datenbankebene statt, hängt also nicht vom Benutzer ab. Und in dem Artikel steht als Default-Wert weiterhin "Simple".

MfG

Rene
 

fav-hosting.online

Sehr aktives Mitglied
16. Oktober 2012
780
59
Weiterstadt
Firma
FaV-Hosting
Bei Recovery steht "Hängt von SQL Server-Edition ab" und nicht "Simple".
Was die Datenbank angeht wird diese beim Neuerstellen anhand der Einstellungen in der model-DB erstellt und hier ist bei einer Neuinstallation SQL 2016 als Recoverymodel vollständig hinterlegt.
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
395
Offenbar hat sich @dropshipout zwar in der Zeile geirrt, denn in dem von @mike59999 verlinkten MS Dokument steht "Simple" nur im Zusammenhang mit PARAMETERIZATION und das ist ja ein völlig anderes Ding. Ich konnte mir aber auch nicht vorstellen, dass MS das Default Recovery Modell einfach so auf "Full" setzen würde, denn das hätte ja potentiell gravierende Konsequenzen.

Da ich noch keinen SQL2016 installiert hatte, war die Gelegenheit günstig und ich habe mir eine Erstinstallation mit einer Default Testinstanz ohne jegliche Parameteränderungen durch mich angelegt. - Und siehe da, das Recovery Model der tempdb ist weiterhin "Simple", es hat also offenbar doch keine Änderung bei SQL2016 gegeben.
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.666
143
Macht doch nicht so nen "Zauber"

gebt im doch einfach den Befehl und gut ist's.

Code:
USE EAZYBUSINESS;
GO

-- Das Log abschneiden, indem man das Wiederherstellungsmodell auf "einfach" ändert
ALTER DATABASE EAZYBUSINESS SET RECOVERY SIMPLE;
GO

-- Das abgeschnittene Logfile  verkleinern
DBCC SHRINKFILE ("EAZYBUSINESS_Log", 130);
GO
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
395
@mike59999 - Ja habe ich, die model DB hat per Default auch "Simple".
@DITH-Shop - Ein Forum ist neben der reinen Hilfe-Funktion auch dazu da, dass man was lernt. - Wenn Du Dir die abschließende Antwort von @MichaelH oben anschaust, dann siehst Du, dass er was gelernt hat. - Was lernt man aus Deinem SQL Skript?
 

DITH-Shop

Sehr aktives Mitglied
8. Juli 2013
2.666
143
Wenn ICH Hilfe benötige, weil rein gar nichts mehr geht, alle Mitarbeiter dumm herum sitzen, nichts verkauft oder gepackt werden kann, dann erwarte ich SOFORT HILFE und kein langes Geschwafel wo ich was lesen oder versuchen soll.
Wenn dann alles wieder läuft ist Zeit genug zu lernen.

Zumal meine Befehle ausreichend dokumentiert sind was genau getan wird.
Nur halt in Kurzform.

Statt um 11:17 hätte er bereits um 07:00 wieder arbeiten können, hätte er die Befehle sofort bekommen.
Danach wäre ausreichend Zeit gewesen bei ner Tass Kaff die Doku zu lesen.

Das soll jetzt hier aber nicht wieder ne Grundsatzdiskussion werden, gell?
Also Ruhe ist - ab an die Arbeit - es ist Montag - Kunden warten ;)
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
395
@DITH-Shop - Nee, da hast Du natürlich Recht. Danke, dass Du ihm die dafür nötigen Befehle am Dienstag um 9 Uhr mitgeteilt hast. Das war genauso hilfreich, wie Dein Post überhaupt, sorry... :eek: