2016-09-12 5 views
1

In vielen SQL Server-Artikeln wird erwähnt, dass die beste Vorgehensweise ist, mehrere Dateigruppe auf einer physischen Festplatte zu verwenden, um Datenträgerkonflikte und Festplattenprobleme zu vermeiden :Mehrere Dateigruppen auf einer virtuellen Maschine für SQL Server

1: Stimmt die gleiche Theorie von mehreren Dateigruppen für eine virtuelle Maschine?
2: Soll ich meine Temperatur noch db zu einem anderen Datenträger erstellen und sollte ich auch mehrere Temp db Dateien vermeiden großen Lese-/Schreibvorgang auf der gleichen Temperatur db-Datei in einem virtuellen Maschine Setup für meine Produktionsumgebung erstellen

Ihre Empfehlung und Argumentation wäre hilfreich, um die beste Vorgehensweise zu bestimmen. Danke.

Antwort

0

Die Frage braucht ein bisschen mehr Informationen über Ihre Umgebung. Wenn die Laufwerke für die VM irgendwo in einem SAN gehostet werden und die Laufwerke, die der VM präsentiert werden, alle über dieselben physischen Festplatten im SAN verteilt sind, vermeiden Sie keine Konflikte. Wenn sich die Laufwerke jedoch nicht auf denselben physischen Laufwerken befinden, wird möglicherweise eine Verbesserung angezeigt. Ihr SAN-Team wird Sie diesbezüglich beraten müssen.

Das heißt, ich bevorzuge immer noch die Protokolldateien aus der Datendatei und tempDB auf dem eigenen Laufwerk getrennt werden. Wenn eine Abfrage nicht wie geplant ausgeführt wird, kann sie das Protokolldateilaufwerk füllen, wodurch diese Datenbank möglicherweise offline geschaltet wird. Andere Datenbanken können jedoch möglicherweise weiterhin ausgeführt werden (vorausgesetzt, sie haben genügend freien Speicherplatz in ihren Protokolldateien). .

Wieder mit tempDB, wenn das gefüllt wird, wird die Transaktion Fehler aus, und alles andere sollte weiter ohne Intervention laufen.

+0

Danke für die Informationen, ich werde die Konfiguration mit SAN-Team überprüfen, da ich keinen Zugriff auf diese Informationen habe. – user3290807

+0

Ihr Kommentar: "Wenn die Laufwerke für die VM irgendwo in einem SAN gehostet werden und die der VM präsentierten Laufwerke alle über die gleichen physischen Festplatten im SAN verteilt sind, werden Sie keine Konflikte vermeiden" - falls dies der Fall ist Bei der Konfiguration meiner Umgebung empfiehlst du mehrere Datenbankdateien und eine temporäre DB-Datei. – user3290807

+0

Microsoft empfiehlt mehrere Tempdb-Dateien unabhängig von der zugrunde liegenden Hardware. Wenn sich die Dateien immer noch auf demselben Laufwerk befinden, sehe ich keinen Vorteil für andere Datenbanken, aber teste es und sieh, was du bekommst.Ich finde immer noch aus der Sicht des Managements ist es einfacher, ein Laufwerk für Protokolle, ein Laufwerk für Daten und ein Laufwerk für Tempdb (und ein Laufwerk für Windows), aber das ist nicht für die Leistung – Greg

1
  1. Ja, es gilt immer noch für virtuelle Server. Ein Teil des Konkurrenzproblems besteht darin, auf die Global Allocation Map (GAM) oder die freigegebene Zuordnungstabelle (Global Shared Map, SGAM) zuzugreifen, die für jede Datenbankdatei existiert und auf die jeweils nur ein Prozess oder ein Thread zugreifen kann. Dies ist das "Latch Wait" -Problem.
  2. Wenn Ihre zweite Festplatte tatsächlich auf anderen Spindeln ist, dann ja. Wenn sich die Datenbankdateien auf verschiedenen logischen Festplatten befinden, aber identische Spindeln, ist dies nicht wirklich wichtig.

Die MS recommendation ist, dass Sie auf Ihrem Server eine Datenbankdatei für jeden logischen Prozessor schaffen sollen, bis zu 8. Sie sollen testen, um zu sehen, wenn Sie Probleme mit Latch Conten auf tempdb finden, bevor mehr als 8 Datenbank-Dateien hinzufügen.

Sie müssen nicht mehrere Tempdb-Dateien Log erstellen (und in der Regel nicht), da diese nacheinander verwendet werden. Sie schreiben immer auf die nächste Seite in der Sequenz, sodass es keine Möglichkeit gibt, Festplattenkonflikte aufzuteilen.

+0

Diese MS-Empfehlung ist nur für Tempdb richtig? – Greg

+0

@Greg Ja, nur tempdb. –

Verwandte Themen