Habe auf einen 2k3-Standart Server einen Sharepoint Service 3.0 laufen.
Dieses Objekt ist derzeit im Teststatus. Ich arbeite mit diesem Portal testweise bevor ich es produktiv einsetzen möchte.
Die Datenbank ist die normal (kleine) Datenbank die der Service 3.0 mitbringt. Die Grenze von 4 GB ist mir bekannt :-)
Jetzt hab ich ein File unter Windows\SYSMSI\SSEE\MSSQL.2005\MSSQL\DATA
das sich so nennt: WSS_Content_log.LDF
Laut Info-Leiste wird mir mitgeteilt das es eine Log-Datei ist.
Meine Daten-Datei (wss_content.mdf) ist 3 GB groß. Die Log-Datei ist 6 GB groß.
Kann man die Log-Datei einstellen, was abgespeichert etc wird ?!
erstmal vorneweg: SQL Log Files sind ähnlich wie Exchange Log Files Transaktionslogs, also keine reinen Informationslogdateien.
Diese Transaktionslogs sind für die interne Datenbankverwaltung notwendig.
Folgende Möglichkeiten hast Du das Transaktionslog zu beeinflussen:
für eine Datenbank, die nur per Vollbackup gesichert wird (dürfte auf die meisten zutreffen), ist dabei vor allem der Punkt "Change the recovery model." relevant. Dadurch bleibt das Log stets überschaubar.
Bleibt man beim standardmäßigen "Full recovery model", muss man zwingend regelmäßig das Log sichern (Backup) - zusätzlich (!) zur Vollsicherung. Sonst läuft die Platte irgendwann voll.
Das allerdings afaik nur auf einem "richtigen" MS SQL Server
Nö, das kann der kleine auch. Dem fehlen allerdings die Verwaltungstools. Mit folgendem Kommando kann man das erledigen:
ALTER DATABASE NameDerDatenbank SET RECOVERY SIMPLE
Das geht entweder über einen Kommandozeilenclient wie isql oder sqlcmd (je nach Version) oder halbgrafisch über einen Miniclient wie Ofarim:
für eine Datenbank, die nur per Vollbackup gesichert wird (dürfte auf die meisten zutreffen), ist dabei vor allem der Punkt "Change the recovery model." relevant. Dadurch bleibt das Log stets überschaubar.
Vollbackup ? ich mach das über den stsadm Befehl (stsadm -o backup -url <website> -filename <speicherort>
Kann man das darunter verstehen ?
ALTER DATABASE NameDerDatenbank SET RECOVERY SIMPLE
was mach ich da genau ? beschreibe ich damit das keine "Log-Dateien" mehr geschrieben werden ?
nein. Ich rede von einem Backup der SQL-Datenbanken.
was mach ich da genau ? beschreibe ich damit das keine "Log-Dateien" mehr geschrieben werden ?
Nein, du stellst ein, dass die Logdateien (verkürzt gesagt) im laufenden Betrieb überschrieben werden können. In der Normaleinstellung werden neue Einträge immer hinten angehängt, bis eine explizite Sicherung des Logs erfolgt. Der "Simple"-Modus überschreibt alte Einträge innerhalb der Datei.
Nein, du stellst ein, dass die Logdateien (verkürzt gesagt) im laufenden Betrieb überschrieben werden können. In der Normaleinstellung werden neue Einträge immer hinten angehängt, bis eine explizite Sicherung des Logs erfolgt. Der "Simple"-Modus überschreibt alte Einträge innerhalb der Datei.
ok gut. Wann speichert er die Logdateien eigentlich immer ? (finde für den Sharepoint Service 3.0 nichts genaues, wann das stattfindet.
Macht er das automatisch ? und sobald so eine Sicherung automatisch erfolgt, hab ich dann statt 6 GB nur noch (ca) 100mb ? weil das neue überschreibt das alte Log File ?
Edit: bzw. wo soll man den Befehl eingeben ? unter C:\windows\sysmsi\myssql.2005\mysql ??? oder mit diesem Verwaltungstool das du geschrieben hast ?
sri für meine etwas "du..." Fragen, aber ich bin da noch nicht so der "Checker" :-)
Gruß Michael
Geändert von calibra22 (21.07.2008 um 14:07 Uhr).
Grund: noch was eingefallen ?
Die Logdateien werden kontinuierlich geschrieben: Immer wenn etwas an der DB geändert wird, schreibt der Server das erst ins Log, dann ändert er die Daten im RAM. Die Änderung in der DB-Datei erfolgt nur "von Zeit zu Zeit".
Das sorgt für Konsistenz auch bei Serverausfällen (alle erfolgten Änderungen können aus dem Log wiederhergestellt werden) und erzeugt gleichzeitig eine hohe Performance (weil die "große" DB-Datei nur "selten" angefasst wird).
Daher ist das Log auch zwingend erforderlich und steht immer im Zugriff. Die Frage ist, ob Änderungen, die in die DB-Datei geschrieben wurden, noch im Log bleiben. Bei "Simple" bleiben sie nicht, bei "Full" bleiben sie (darauf könnte man dann Backupstrategien aufbauen).
ok gut soweit verstanden :-)
jetzt nur die Frage, brauche ich so ein SQL-Tool oder kann ich es ganz "normal" auf der Kommandozeile eingeben ?
Die Frage ist sicherlich, muss die Log-Datei "full" gesichert werden oder nur simple...ich mein, ich hab ca. 3GB Daten in dem Sharepoint und dieser läuft seit April 08 und hat schon mehr als das doppelte als Log-Datei...schon heftig.
sri stimmt...aber dennoch wieder ein Problem, hab mir das omatic runtergeladen und gestartet, meine Daten eingegeben (SQL-Server, Servername, und dann eben in dem Textfeld den Befehl eingegeben, den du mir geschrieben hast.)
Leider sagt er immer, der Befehl sei nicht bekannt, bzw. die Verbindung zum Server nicht aktiv. Nur der Server läuft auf der gleichen Maschine.
Gibt es keine Möglichkeit das mit sagen wir mal Boardmittel einzugrenzen, dass das File nicht mehr anwächst ?
Würde ich es löschen (sri kenn mich mit den Transactions-Packs nicht so aus) würde ich mehr kaputt wie gut machen oder ?
(Mein Gedankengang wäre, File löschen und dann würde ein neues wieder angelegt werden.) ???
Gruß Michael
PS: für SQL sollte ich mir mal ein Buch zulegen...ich stoss hierbei arg an meine Grenzen...ist mir noch recht suspekt :-(