Frage

Ich habe zwei Datenbanken auf einem Server; nennen wir sie db A und B. Datenbank A über 11 GB ist, ist Datenbank B sehr klein (155 MB). Datenbank B hat einige Ansichten und Procs, die ständig Zugriff auf und Aktualisieren von Daten in der Datenbank A.

Das Interessante daran ist, schnell das Protokoll für Datenbank B zu großen Größen wächst, ich glaube, es auf etwa 12 GB wuchs in weniger als eine Woche. Datenbank A wächst nicht, dass groß, dass schnell.

Was könnte mein log, dass viel wachsen verursachen? Gibt es etwas los, wenn Sie Daten aus einer anderen Datenbank auswählen, das würde dazu führen, mein Log, so zu wachsen?

Ich weiß, wenn Sie etwas ähnliches mit einer Datenbank auf einem anderen Server zu tun, werden die Daten alle an die anrufende Datenbank verschoben, bevor sie verbunden ist und ausgewählt ... ich dies verursacht lügt Wachstum sehen kann, könnte das Gleiche passiert auf die gleichen Server?

SQL2000 SP4 STD Ausgabe
Vollständiges Wiederherstellungsmodell

Vielen Dank im Voraus, John

BTW-Ich weiß, dass meine Genesung Modell Einfaches Ändern helfen kann, aber ich würde gerne wissen, warum diese erste passiert.

War es hilfreich?

Lösung

Ich kann mich nicht vorstellen, warum eine einfache SELECT-Anweisung etwas in das Transaktionsprotokoll hinzufügen würde, aber ich weiß nicht viel Erfahrung mit verknüpften Servern habe, so kann ich nicht sicher sagen, was hinter den Kulissen passiert sein könnte .

Allerdings sagen Sie „Datenbank B einige Ansichten und Procs hat, die ständig Zugriff und Daten in der Datenbank A. Aktualisierung“, so dass, obwohl die zugrunde liegenden Daten gibt es auf Datenbank A, weil Ihre neue Anwendung zur Datenbank B verbindet und nutzt es Objekte, scheint es sinnvoll, dass diese Operationen in B tran Protokoll aufgezeichnet werden.

Aber das ist nur eine Vermutung meinerseits. Warum nicht überprüfen Sie nur das Transaktionsprotokoll direkt und sehen, ob das, was es enthält sinnvoll erscheint? RedGate hat einen kostenlosen Log Explorer, die mit SQL 2000 (siehe arbeitet http: // www .red-gate.com / products / SQL_Log_Rescue / index.htm ); Ich habe es nur einmal vor, aber es schien gut zu funktionieren und es gerettet wirklich meinen Speck in diesem speziellen Fall.

Ich gebe zu, dass ich über die Details neugierig bin, aber in Ihrer Situation würde ich versucht sein, meine Neugier zu unterdrücken und nur mit der Protokolldatei befassen. Immerhin ist dies nur vorübergehend, und wenn das Protokoll Wachstum ein Artefakt der verknüpften Server ist, sollte es sich beheben, wenn Sie die neue App beenden und Datenbank A in Rente gehen.

Auch gemacht Godeke einen guten Punkt über Sicherungen. Wenn Sie Ihre Log-Datei zu groß wächst, sichern sie dann häufiger auf. Sichern sie bis kürzt das Protokoll, sondern nur intern; das heißt der Prozentsatz der Protokolldatei wird schrumpfen verwendet, aber die tatsächliche Größe der Datei auf der Festplatte wird sich nicht ändern, bis Sie DBCC SHRINKFILE verwenden, dies zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top