calibra22 10 Geschrieben 21. Juli 2008 Melden Teilen Geschrieben 21. Juli 2008 Hallo ! 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 ?! Wer kann helfen ? Gruß Michael Zitieren Link zu diesem Kommentar
Lian 2.441 Geschrieben 21. Juli 2008 Melden Teilen Geschrieben 21. Juli 2008 Hallo, 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: How to stop the transaction log of a SQL Server database from growing unexpectedly Das allerdings afaik nur auf einem "richtigen" MS SQL Server. Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 21. Juli 2008 Melden Teilen Geschrieben 21. Juli 2008 Moin, 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: faq-o-matic.net » Ofarim Free: SQL-Client Gruß, Nils Zitieren Link zu diesem Kommentar
calibra22 10 Geschrieben 21. Juli 2008 Autor Melden Teilen Geschrieben 21. Juli 2008 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 ? Im Vorfeld schon mal danke! Gruß Michael Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 21. Juli 2008 Melden Teilen Geschrieben 21. Juli 2008 Moin, Kann man das darunter verstehen ? 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. Gruß, Nils Zitieren Link zu diesem Kommentar
calibra22 10 Geschrieben 21. Juli 2008 Autor Melden Teilen Geschrieben 21. Juli 2008 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 Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 21. Juli 2008 Melden Teilen Geschrieben 21. Juli 2008 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). Gruß, Nils Zitieren Link zu diesem Kommentar
calibra22 10 Geschrieben 21. Juli 2008 Autor Melden Teilen Geschrieben 21. Juli 2008 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. Gruß Michael Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 21. Juli 2008 Melden Teilen Geschrieben 21. Juli 2008 Äh - das habe ich doch schon beantwortet. Gruß, Nils Zitieren Link zu diesem Kommentar
calibra22 10 Geschrieben 21. Juli 2008 Autor Melden Teilen Geschrieben 21. Juli 2008 Servus! 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 :-( (dennoch vielen DANK schon mal....) Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 21. Juli 2008 Melden Teilen Geschrieben 21. Juli 2008 Es wäre am besten, wenn du nicht irgendwelche unbedachten Sachen machst. Manipulationen an den Datenbankdateien sind eine hervorragende Methode, die Datenbank unbrauchbar zu machen. Wie ich dir auch schon schrieb, gibt es - je nach SQL-Server-Version - das Kommandozeilentool isqlw bzw. osqlw oder sqlcmd. Die rufst du in einem CMD-Fenster auf. Mit /? erhältst du wie bei jedem CMD-Tool die Hilfe. Damit kannst du ein SQL-Kommando ausführen. Gruß, Nils Zitieren Link zu diesem Kommentar
calibra22 10 Geschrieben 21. Juli 2008 Autor Melden Teilen Geschrieben 21. Juli 2008 Hi! das war die Idee eines Naiven :-) wär auch zu schön gewesen, wenn es so einfach funktioniert :-) (wobei dann kann es auch ein jeder) ich probiers mal mit den Programmen aus, die du geschrieben hast, dennoch vielen Dank für deine Ausdauer :-) Gruß Michael Zitieren Link zu diesem Kommentar
calibra22 10 Geschrieben 22. Juli 2008 Autor Melden Teilen Geschrieben 22. Juli 2008 Hi ! ich wieder :-) so jetza, ich hab mir die Software Microsoft SQL Server Management Studio Express runtergeladen und habe mich so angemeldet: \\.\pipe\mssql$microsoft##ssee\sql\query und bin auf die entsprechende Datenbank gegangen und habe dann eine Abfrage gestartet => alter database wss_content set recovery simple wss_content => Name der Datenbank. Diese Abfrage wurde mit Erfolg abgeschlossen...stand jedenfalls in der Statusleiste. Habe ich es so richtig gemacht ? bzw. wann merke ich, dass er jetzt nicht mehr die Files hinten dran hängt sondern immer wieder das Transaction-File neu schreibt ? Vielen Dank wieder mal :-) Gruß Michael PS: Gut N8! Zitieren Link zu diesem Kommentar
calibra22 10 Geschrieben 28. Juli 2008 Autor Melden Teilen Geschrieben 28. Juli 2008 Hi! ich mal wieder :-) ich habe jetzt das abgeändert wie es oben steht, wird das log.ldf-File nicht mehr kleiner ? Ich seh dass er zwar das File nochmals beschrieben hat, aber das File wurde nicht größer, aber auch nicht kleiner ?! Bleibt das File so ? bzw. erst mit Neuinstallation wird das dann besser ? Gruß Michael PS: Vielen Dank schon mal im Voraus Zitieren Link zu diesem Kommentar
NilsK 2.958 Geschrieben 28. Juli 2008 Melden Teilen Geschrieben 28. Juli 2008 Moin, nein, SQL Server verkleinert von selbst keine Dateien. Das tut man manuell. Folgender Artikel sollte dir dabei helfen: How to use the DBCC SHRINKFILE statement to shrink the transaction log file in SQL Server 2005 Gruß, Nils Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.