Knorkator 12 Geschrieben 26. Oktober 2016 Melden Teilen Geschrieben 26. Oktober 2016 (bearbeitet) Hallo, wir haben hier einen 2008er SQL Server auf dem unser altes ERP (MS Navision 2009) System liegt. Die Datenbank wird nur noch ab und zu für Lesezwecke genutzt. Konfiguriert wurde das System mit einer Filegroup aus 4 Dateien die auf 4 Raid-1 Verbünden liegen. Warum auch immer, die Verteilung auf die einzelnen Dateien ist nicht optimal: DBFile1-85% - Festplatte bis auf 10MB voll... DBFile2-5% DBFile3-5% DBFile4-5% Kann mir jemand einen Tipp geben, wie ich: a) Den Inhalt der Datenbank gleichmäßig auf die 4 Dateien verteilen kann? b) Alternativ dazu: Den Inhalt ggf. auf 2 Dateien aufteilen kann? Vielen Dank bearbeitet 26. Oktober 2016 von Knorkator Zitieren Link zu diesem Kommentar
Knorkator 12 Geschrieben 7. November 2016 Autor Melden Teilen Geschrieben 7. November 2016 Keiner? Ist die Frage so doof oder ungewöhnlich? :/ Zitieren Link zu diesem Kommentar
wilgin 11 Geschrieben 8. November 2016 Melden Teilen Geschrieben 8. November 2016 (bearbeitet) Hallo, Filegroups nehmen mal grundsätzlich den kompletten Inhalt des jeweiligen Objektes auf. Du kannst das grafisch im Management Studio in den Eigenschaften einer (zb) Tabelle sehen. Ein gleichmäßiges Aufteilen kenn ich jetzt mal nicht. Du kannst es jedoch partitionieren. Wenn beispielsweise in einer Tabelle Umsatzdaten von vier Jahren drinnen sind kann man mit einer Partitionsregel diese so aufteilen, das jedes Jahr in einer seperaten Filegroup liegen. siehe https://technet.microsoft.com/en-us/library/ms188232(v=sql.105).aspx vg bearbeitet 8. November 2016 von wilgin 1 Zitieren Link zu diesem Kommentar
Knorkator 12 Geschrieben 8. November 2016 Autor Melden Teilen Geschrieben 8. November 2016 Hallo wilgin, Ich habe mir mal die Belegung der Tabellen angesehen und festgestellt, dass wir einen Testmandanten mit 68GB Speicherbelegung in der Datenbank hatten. Da die DB nur noch zu Lesezwecken benötigt wird, wurde der Testmandant nun gelöscht und die DB um knapp 60 verkleinert werden. Filegroups nehmen mal grundsätzlich den kompletten Inhalt des jeweiligen Objektes auf. Das ist ja erstmal so Ok, aber warum wurden die Daten nicht gleichmäßig auf die beteiligten Dateien verteilt? Kann mir das mal jemand erklären? Vielen Dank! Zitieren Link zu diesem Kommentar
Beste Lösung NilsK 2.940 Geschrieben 8. November 2016 Beste Lösung Melden Teilen Geschrieben 8. November 2016 Moin, SQL Server füllt die Dateien, die zur selben Filegroup gehören, proportional zu dem freien Platz innerhalb der Datei. Möglicherweise führt das zu einer "Verzerrung" gegenüber deiner Erwartung, dass die Daten gleich verteilt seien. Zusätzlich kann das Autogrow hier zu einer nicht erwarteten Verteilung führen - Autogrow ist ohnehin in vielen Umgebungen problematisch, weil falsch oder ungünstig konfiguriert. Wenn man eine bestimmte Verteilung erreichen möchte, muss man die Parameter Größe und Autogrow also gemeinsam planen. https://technet.microsoft.com/en-us/library/ms187087(v=sql.105).aspx Gruß, Nils Zitieren Link zu diesem Kommentar
Knorkator 12 Geschrieben 9. November 2016 Autor Melden Teilen Geschrieben 9. November 2016 Hallo Nils, danke für den Link! Lt. File and Filegroup Fill Strategy sollten die Dateien ja zumindest alle gleichzeitig voll werden und danach Datei für Datei erweitert werden. Aber na ja.. das hat ja nicht geklappt. Da das System schon vor meiner Zeit aufgesetzt wurde und ich nicht für SQL Server zuständig bin, kann ich nicht sagen ob ggf. die Autogrow Einstellungen ungünstig konfiguriert werden. Habe die Einstellungen an den anderen SQL Servern überprüft und ggf. korrigiert - 30% Vergrößerung bei einer 40GB Datenbank muss ja nicht sein denke ich. Das neue NAV läuft auf einem SQL 2014, da werde ich die Dateibelegung zukünftig überwachen... Vielen Dank Zitieren Link zu diesem Kommentar
NilsK 2.940 Geschrieben 9. November 2016 Melden Teilen Geschrieben 9. November 2016 Moin, generell ist prozentuale Vergrößerung bei Autogrow schwierig. Wenn die Datei z.B. schon 500 GB erreicht hat, müssen bei 10 Prozent mal eben 50 GB alloziert werden. Bei kleineren Dateien hingegen führt das zu ständigen kleinen Häppchen und sorgt so für Fragmentierung. Als Faustregel empfehle ich daher immer große, feste Inkremente und ein Monitoring. Das ist aber Sache des Detaildesigns, genau wie die Nutzung von Filegroups. Gruß, Nils Zitieren Link zu diesem Kommentar
Knorkator 12 Geschrieben 9. November 2016 Autor Melden Teilen Geschrieben 9. November 2016 Beim Design sollte man wissen (hoffentlich), wie groß die DB wird und gleich entsprechend planen. Leider hat der ein oder andere kein Gefühl dafür... Zitieren Link zu diesem Kommentar
NilsK 2.940 Geschrieben 9. November 2016 Melden Teilen Geschrieben 9. November 2016 Moin, naja, das kommt schon mal vor. Bei vielen Projekten weiß man ja nicht, wie die sich entwickeln. Aber wenn es dann eben auch um Performancefragen geht, dann braucht man in solchen Phasen eine gute Überwachung und sinnvolle Grundeinstellungen. Gruß, Nils Zitieren Link zu diesem Kommentar
Knorkator 12 Geschrieben 9. November 2016 Autor Melden Teilen Geschrieben 9. November 2016 Da stimmt.. bzgl. der Überwachung / Auswertung kommt gleich noch nen Thread. :) 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.