Beschreibung der Verwendung von Datenträger-Caches mit SQL Server, die jeder Datenbankadministrator wissen sollten

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 234656 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Zusammenfassung

Ein Datenbanksystem ist zuerst und vor allem für genaue speichern und Abrufen von Daten, selbst im Falle eines Unerwarteter Systemfehler verantwortlich.

Das System muss die Unteilbarkeit und Dauerhaftigkeit von Transaktionen beim Kontoführung für die aktuelle Ausführung, mehrere Transaktionen und verschiedenen Fehlerpunkte sichergestellt. Dies wird häufig als die ACID-Eigenschaften (Unteilbarkeit, Konsistenz, Isolation und Beständigkeit) bezeichnet.

Dieser Artikel behandelt die Auswirkungen von einem Laufwerk zwischengespeichert. Es wird empfohlen, dass Sie die folgenden Artikeln in der Microsoft Knowledge Base für Weitere Erläuterungen zum Zwischenspeichern von lesen und alternative Fehler Modus Diskussionen:
86903SQL Server und Zwischenspeicherung Festplattencontroller
46091Festplatte Zwischenspeichern Controller mit SQL Server
230785SQL Server 7.0 und SQL Server 2000-Protokollierung und Data Storage Algorithmen erweitern die Zuverlässigkeit der Daten
Die folgenden Dokumente sind auch empfohlen:

Weitere Informationen

Microsoft SQL Server 2005, SQL Server 2000, SQL Server 7.0, frühere Versionen von SQL Server, und viele gängige Datenbankprodukte auf dem Markt verwenden heute das Protokoll Write-Ahead-Protokoll (WAL).
Write-Ahead-Protokoll (WAL)-Protokoll
Das Protokoll Begriff ist eine hervorragende Möglichkeit, WAL zu beschreiben. Es ist eine bestimmte und definierten Satz von Implementierung erforderlichen Schritte zum sicherzustellen, dass Daten gespeichert und ausgetauscht ordnungsgemäß und können in einem bekannten Zustand im Falle von einem Fehler wiederhergestellt werden. Wie ein Netzwerk ein definierten Protokoll so Austausch von Daten in einer konsistenten und geschützte Weise enthält zu unterstützt die WAL das Protokoll zum Schutz der Daten beschreiben.
Alle Versionen von SQL Server öffnen Sie die Protokoll- und Dateien, die mithilfe der Win32- CreateFile -Funktion. Das DwFlagsAndAttributes -Element enthält die Option FILE_FLAG_WRITE_THROUGH beim Öffnen von SQL Server.
FILE_FLAG_WRITE_THROUGH
Diese Option weist das System über Zwischencache schreiben und direkt zum Datenträger wechseln. Das System kann weiterhin Schreiboperationen Zwischenspeichern aber leeren kann nicht verzögert werden.

Die Option "FILE_FLAG_WRITE_THROUGH wird sichergestellt, dass wenn ein Schreibvorgang Vorgang gibt erfolgreicher Abschluss, den die Daten ordnungsgemäß in den stabilen Speicher gespeichert werden. Dies richtet mit der Write Ahead-Protokollierung (WAL)-Protokollspezifikation, damit die Daten.
Viele Laufwerke (SATA, ATA, SCSI und IDE-basierenden) enthalten integrierte Caches 512 KB, 1 MB und größer. Laufwerk-Caches basieren normalerweise auf einen Kondensator und keine Lösung akkuunterstützten . Diese Mechanismen zwischenspeichern können nicht garantieren Schreibvorgänge über eine Potenz Zyklus oder ähnliche Fehler zeigen. Sie garantiert nur den Abschluss der Sektor-Schreibvorgänge. Die Laufwerke weiterhin in Größe anwachsen, die Caches größer werden und Sie können größere Mengen von Daten während eines Fehlers verfügbar machen.

Verbesserte Zwischenspeicherung Domänencontroller Systeme deaktivieren auf dem Datenträger-Cache und bieten eine funktionale akkuunterstützten Zwischenspeichern Lösung. Diese Caches können die Daten im Cache für mehrere Tage verwalten und sogar ermöglichen die Zwischenspeicherung Karte in einem zweiten Computer platziert werden. Wenn Power ordnungsgemäß wiederhergestellt wird, werden die unwritten Daten vollständig geleert, bevor alle weiteren Datenzugriff zulässig ist. Viele ermöglichen Prozentsatz der Lese-und Schreibcache für eine optimale Leistung hergestellt werden. Enthalten einige große Speicherbereiche Speicher. Tatsächlich bieten einige Hardwarehersteller für ein sehr spezifische Segment des Markts High-End-Systemen mit mehreren Gigabytes von Cache Zwischenspeichern akkuunterstützten Datenträger. Diese können die Leistung erheblich verbessern.

E/A-Übertragungen, die ohne Verwendung von einem Cache durchgeführt werden können wesentlich länger aufgrund der Festplatte Drehfeld Raten sein die mechanische Zeit, die zum Verschieben die Köpfe Laufwerk und andere einschränkenden Faktoren erforderlich ist. SQL Server-Installationen sind auf Systeme ausgelegt, die Zwischenspeicherung Domänencontroller bereitstellen. Diese Domänencontroller Deaktivieren des Datenträgercaches und bieten stabilen Medium zwischengespeichert, um SQL Server-e/a-Anforderungen zu erfüllen. Sie vermeiden Leistungsprobleme Datenträger suchen und Schreiben von Uhrzeiten mithilfe der verschiedene Optimierungen der Cache-Controller.

Es gibt viele Arten von Subsystem Implementierungen. RAID und SAN sind zwei Beispiele für diese Arten von Subsystem Implementierungen. Diese Systeme werden in der Regel mit SCSI-basierten Laufwerke erstellt. Dafür gibt es mehrere Gründe. Der folgende Abschnitt beschreibt Allgemein hohe Ebene Laufwerk Überlegungen.

SCSI-Laufwerke:
  • Sind in der Regel für die Verwendung starker Abgabe hergestellt werden.
  • An Mehrbenutzer-, serverbasierte Implementierungen sind i. d. r. gerichtet werden.
  • In der Regel verfügen Sie besser Meantime zu Fehlerstatistiken als andere Implementierungen.
  • Enthalten Sie hoch entwickelte Heuristik damit bevorsteht Fehler vorhergesagt.
Andere Laufwerk-Implementierungen, z. B. IDE, ATA und SATA:
  • Für die Abgabe von Licht und mittlere Verwendung sind i. d. r. hergestellt werden.
  • An einzelne Benutzer-basierte Anwendungen sind i. d. r. gerichtet werden.
  • Einige neueren Implementierungen enthalten hoch entwickelte Heuristik damit bevorsteht Fehler vorhergesagt.
Nicht-SCSI-Desktop-basierten Domänencontroller benötigen weitere Hauptprozessor (CPU) Bandbreite und sind häufig durch einen einzigen aktiven Befehl beschränkt. Wenn ein nicht-SCSI-Laufwerk einen fehlerhaften Block anpassen ist, erfordert das Laufwerk z. B., dass die Host-Befehle warten. Der ATA-Bus stellt ein weiteres Beispiel. Der ATA-Bus 2 Geräte unterstützt, aber nur ein einzelner Befehl aktiv sein kann. Dadurch ein Laufwerk im Leerlauf während das andere Laufwerk den ausstehenden Befehl Dienste. RAID-Systeme auf desktop-Technologien basieren können alle diese Symptome auftreten und durch den langsamsten Responder erheblich beeinträchtigt werden. Sofern diese Systeme erweiterte Designs verwenden, werden deren Leistung nicht so effizient wie die Leistung der SCSI-basierten Systeme.

Es gibt Situationen, in denen eine Desktop-basierten Laufwerk oder ein Array ist eine entsprechende kostengünstige Lösung. Z. B. Wenn Sie eine schreibgeschützte Datenbank für die Berichterstellung eingerichtet haben, sollten nicht treten viele die Leistung Faktoren einer OLTP-Datenbank beim Datenträgerzwischenspeicherung deaktiviert ist.

Laufwerk Größen weiter zu erhöhen. Niedrige Kosten, hohe Kapazität Laufwerke kann äußerst reizvoll. Wenn Sie das Laufwerk für SQL Server und Ihre Geschäftsanforderungen für die Antwort Zeit konfigurieren, Sie sollten jedoch Betracht sorgfältig ziehen die folgenden Probleme:
  • Pfad Entwurf Zugriff
  • Die Anforderung zum Deaktivieren des Datenträgercache
Die folgende Tabelle enthält hohe Ebene Kommentare. Die Kommentar Informationen basiert auf allgemeine Herstellung Konfigurationen.

Tabelle minimierenTabelle vergrößern
Geben Sie Laufwerk System Basis Kommentare
IDE und ATA
  • Drehen Sie mit 7.200 Umdrehungen/min.
  • Auf Desktops und Anwendungen für einzelne Benutzer ausgerichtet sind.
  • Datenträger-Cache ist standardmäßig aktiviert. Verwenden Sie die Registerkarte "Datenträgereigenschaften, Registerkarte Hardware auf die Richtlinie 'Eigenschaften,'", um die Datenträger-Cache-Einstellung zu steuern.

    Hinweis: Einige Laufwerke führen Sie diese Einstellung nicht berücksichtigt. Diese Laufwerke erfordern ein Dienstprogramm eines bestimmten Herstellers, um Cache deaktivieren.
  • Der Datenträgerzwischenspeicherung sollte deaktiviert werden, um das Laufwerk mit SQL Server verwenden.
  • IDE und ATA-basierte Systeme können Host Befehle verschieben, beim Durchführen von Aktivitäten wie fehlerhafter Block Regulierung. Dies kann zu Zeiten angehaltene e/A-Aktivität führen.
IDE-tragbare computer
  • Spin am 5,200 RPM.
  • An tragbaren Computern gerichtet sind.
  • Finden Sie in anderen Kommentaren IDE und ATA-Abschnitt.
  • ReadyDrive und NAND-Flash-Speicher möglicherweise stabile e/A-Funktionen bereitstellen.
SATA
  • Drehen Sie mit 7.200 Umdrehungen/min.
  • An Desktops und Servern Mittlerer Bereich gerichtet sind.
  • Datenträger-Cache ist standardmäßig aktiviert. Verwenden Sie die Registerkarte "Datenträgereigenschaften, Registerkarte Hardware auf die Richtlinie 'Eigenschaften,'", um die Datenträger-Cache-Einstellung zu steuern.

    Hinweis: Einige Laufwerke führen Sie diese Einstellung nicht berücksichtigt. Diese Laufwerke erfordern ein Dienstprogramm eines bestimmten Herstellers, um Cache deaktivieren.
  • Größeren Speicher Kapazität und größere speichert als IDE- und ATA Teile Leistungsindikator.
  • Der Datenträgerzwischenspeicherung sollte deaktiviert werden, um das Laufwerk mit SQL Server verwenden.
  • Kleinere Kabel und Verbindungen.
  • Einfache interconnect mit Serial Attached SCSI (SAS) Laufwerke und Installationen.
  • Fehler bei der Vorhersage-Konstrukte gehören.
SCSI-
  • Spin bei 10.000 und mit 15.000 Umdrehungen/min.
  • Für Server und Mehrbenutzeranwendungen entwickelt.
  • Für stärkeren Abgabe Zyklen und verringerte Fehlerstatistiken entwickelt.
  • Datenträger-Cache ist standardmäßig aktiviert. Verwenden Sie die Registerkarte "Datenträgereigenschaften, Registerkarte Hardware auf die Richtlinie 'Eigenschaften,'", um die Datenträger-Cache-Einstellung zu steuern.

    Hinweis: Einige Laufwerke führen Sie diese Einstellung nicht berücksichtigt. Diese Laufwerke erfordern ein Dienstprogramm eines bestimmten Herstellers, um Cache deaktivieren.
  • Der Datenträgerzwischenspeicherung sollte deaktiviert werden, um das Laufwerk mit SQL Server verwenden.
  • Array und SAN-Systeme normalerweise kleinere Verkabelung und interconnects.
  • Enthalten Sie Fehler bei der Vorhersage-Konstrukte.
Serial Attached SCSI (SAS) umfasst erweiterte queuing bis zu 256 Ebenen. SAS umfasst auch Features wie z. B. Anfang der Warteschlange und nicht in der richtigen Reihenfolge queuing. Die SAS-Backplane ist eine Möglichkeit entwickelt, ermöglicht die Verwendung von SAS und SATA innerhalb desselben Systems Laufwerke. Die Vorteile des Entwurfs SAS sind offensichtlich.

SQL Server-Installation ist abhängig von der Controller Fähigkeit, den Datenträgercache deaktivieren und einen stabilen e/A-Cache bereitzustellen. Schreiben von Daten außerhalb der Reihenfolge auf verschiedenen Datenträgern ist keine erschwert zu SQL Server, solange der Domänencontroller die richtige stabilen Medium Zwischenspeicherfunktionen bietet. Die Komplexität von der Controller-Entwurf mit erweiterten Daten Sicherheit Techniken wie z. B. Spiegelung erhöht wird.

Um Ihre Daten zu sichern, sollten Sie sicherstellen, dass alle Daten zwischenspeichern ordnungsgemäß verarbeitet werden. In vielen Fällen bedeutet dies, müssen Sie deaktivieren den Schreibcache des Laufwerks.

Hinweis Stellen Sie sicher, dass alle alternativen Zwischenspeicherungsmechanismus mehrere Typen von Fehler ordnungsgemäß verarbeiten kann.

Microsoft hat auf mehrere SCSI- und IDE-Laufwerken mit dem Dienstprogramm SQLIOStress Tests durchgeführt. Dieses Dienstprogramm wird stark asynchronen Lese-/Schreibzugriff Aktivitäten einer simulierten Daten Gerät und Protokollmedium simuliert. Test-Leistungsstatistik zeigt die durchschnittliche Schreibvorgänge pro Sekunde zwischen 50 und 70 für ein Laufwerk mit Schreibcache deaktiviert und ein RPM Bereich zwischen 5,200 und 7200.

Weitere Informationen und Details SQLIOStress finden Sie unter den folgenden Artikel der Microsoft Knowledge Base:
231619Info: SQLIOStress Utility to Stress Datenträger-Subsystem wie SQLServer
Viele PC-Herstellern (z. B. Compaq, Dell, Gateway oder HP) Reihenfolge der Laufwerke mit der Write-Cache deaktiviert. Allerdings testen Tests zeigt, dass dies möglicherweise nicht immer der Fall, Sie immer sollten , vollständig.

Hinweis Wenn alle Frage als zum Zwischenspeichern Status der Festplatte, Bitte wenden Sie sich an den Hersteller und erhalten Sie die richtigen Dienstprogramm oder Jumper-Einstellungen zum Deaktivieren der Zwischenspeicherung Schreibvorgänge zu.

Informationsquellen

Ausführliche Informationen zu SQL Server-e/a-Anforderungen der folgenden Microsoft-Website: http://www.microsoft.com/sql/alwayson/overview.mspx
SQL Server erfordert Systeme unterstützen ? garantierte Übermittlung mit stabilen Medium ? wie beschrieben unter das Programm Microsoft SQL Server Always-On Storage Solution überprüfen. FOWeitere Informationen zu den Eingabe- und Anforderungen für die SQL Server Datenbank-Engine finden Sie im folgenden Artikel der Microsoft Knowledge Base:
967576Microsoft SQL Server Engine E/A-Anforderungen

Eigenschaften

Artikel-ID: 234656 - Geändert am: Freitag, 2. November 2007 - Version: 3.7
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
Keywords: 
kbmt kbinfo KB234656 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 234656
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com