Informationen über Laufwerk speichert mit SQL Server, dass jeder Datenbankadministrator kennen sollte

Gilt für: Microsoft SQL Server 2005 Express EditionMicrosoft SQL Server 2005 Standard EditionMicrosoft SQL Server 2005 Workgroup Edition

Zusammenfassung


Ein Datenbanksystem ist in erster Linie für die genaue Speicherung und Abruf von Daten auch bei unerwarteten Systemausfällen verantwortlich.

Das System muss die Unteilbarkeit und Transaktionen und aktuelle Ausführung mehrerer Transaktionen und verschiedenen Fehlerquellen garantieren. Dies wird oft als ACID-Eigenschaften (Unteilbarkeit, Konsistenz, Isolation und Durability) bezeichnet.

Dieser Artikel behandelt die Implikationen einer Festplatte speichert. Es wird empfohlen, Sie folgenden Artikel der Microsoft Knowledge Base für eine Erläuterung zum Zwischenspeichern lesen und Fehler Modus Diskussionen:
SQL Server und Schreibcache-Controller 86903

230785 Protokollierung SQL Server 7.0 und SQL Server 2000 Data Storage Algorithmen erweitern und Zuverlässigkeit

Die folgenden Dokumente werden empfohlen:
Hinweis Diese beiden Dokumente gelten für alle derzeit unterstützten Versionen von SQL Server.

Weitere Informationen


Microsoft SQL Server und vielen wichtigen Datenbankprodukte auf dem Markt verwenden heute das Protokoll Write-Ahead-Logging (WAL).
Protokoll Write-Ahead-Logging (WAL)
Begriff-Protokoll ist eine hervorragende Möglichkeit, WAL beschreiben. Ist ein bestimmtes und definierte Implementierungsschritte sicherzustellen, dass Daten gespeichert und korrekt ausgetauscht und in einen bekannten Zustand bei einem Ausfall wiederhergestellt werden können. Nur ein Netzwerk definiertes Protokoll eine konsistente geschützt und so Datenaustausch enthält auch beschreibt die WAL das Protokoll um Daten zu schützen.
Alle Versionen von SQL Server öffnen die Protokoll- und Datendateien mit Win32 CreateFile -Funktion. Das DwFlagsAndAttributes -Element enthält FILE_FLAG_WRITE_THROUGH Option beim Öffnen von SQL Server.
FILE_FLAG_WRITE_THROUGH
Diese Option weist das System durch jeden Zwischencache schreiben und direkt zum Datenträger wechseln. Das System kann weiterhin Schreiboperationen zwischenspeichern aber löschen nicht verzögert werden.

Die Option FILE_FLAG_WRITE_THROUGH wird sichergestellt, dass beim Schreiben Operation gibt erfolgreichem Abschluss die Daten ordnungsgemäß in Speicherort gespeichert. Dies richtet mit Protokollspezifikation schreiben vor Protokollierung (WAL) der Daten.
Viele Laufwerke (SATA, ATA SCSI- und IDE basieren) enthalten integrierte Caches 512 KB, 1 MB und größer. Laufwerk-Caches hängen gewöhnlich Kondensators und keine Batterie-Backup-Lösung. Diese Zwischenspeicherungsmechanismen können nicht garantieren, schreibt in eine Potenz aus- oder ähnliche Fehler zeigen. Sie garantiert nur den Abschluss der Sektor schreiben. Wenn Laufwerke Größe wachsen, Caches größer, und sie können größere Datenmengen bei einem Ausfall machen.


Erweiterte Zwischenspeichern Controller-Disk-Cache deaktivieren und bieten eine funktionale batteriegepuffertem caching-Lösung. Diese Caches können Daten im Cache für mehrere Tage verwalten und auch Zwischenspeichern Karte in einem zweiten Computer platziert werden. Wenn richtig wiederhergestellt wird, werden geleerten Daten erst weitere Datenzugriff vollständig geleert. Viele zulassen Prozentsatz der Lese-und Schreib-Cache für eine optimale Leistung hergestellt werden Enthalten einige große Speicherbereiche Speicher. Tatsächlich bieten einige Hardwarehersteller für einen ganz bestimmten Marktsegment, High-End-batteriegepuffertem Festplatten mit mehreren Gigabyte Cache zwischenspeichern. Diese können die Leistung der Datenbank erheblich verbessern.

E/a-Übertragung, die ohne einen Cache durchgeführt werden länger wegen Festplatte drehen, die mechanische Zeit kann, die zum Verschieben der Laufwerksköpfe und andere einschränkenden Faktoren erforderlich. SQL Server-Installationen sind Systeme abzielen, die Cache-Controller bieten. Diese Controller deaktivieren die Datenträgercaches und bieten stabile Media speichert SQL Server e/a-Anforderungen. Sie vermeiden Leistungsprobleme suchen und Schreibzeiten mithilfe der verschiedenen Optimierungen der Cache-Controller.

Es gibt viele Arten von Implementierungen Subsystem. RAID und SAN sind zwei Beispiele für derartige Subsystem Implementierungen. Diese Systeme werden in der Regel mit SCSI-Laufwerke erstellt. Es gibt mehrere Gründe dafür vorliegen. Der folgende Abschnitt beschreibt Allgemein hohen Ebene Laufwerk Aspekte.

SCSI-Laufwerke:
  • Sind in der Regel für hohe Beanspruchung ausgelegt.
  • In der Regel Mehrbenutzer, serverbasierten Implementierung richten sich an.
  • Normalerweise haben Sie bessere inzwischen zu Fehler als andere Implementierungen.
  • Enthalten Sie ausgefeilte Heuristik, um vorherzusagen, drohende Fehler.
Andere Implementierungen Laufwerk IDE ATA und SATA:
  • Werden üblicherweise für Licht und mittlere Einsatz hergestellt.
  • In der Regel einzelnen benutzerbasierte Applikationen richten sich an.
  • Einige neueren Implementierungen enthalten ausgefeilte Heuristik, um drohende Fehler vorherzusagen.
Nicht-SCSI-, Desktop-basierte Domänencontroller mehr Hauptprozessor (CPU) Bandbreite und häufig durch einen einzigen aktiven Befehl beschränkt. Z. B. Wenn Sie ein SCSI-Laufwerk einen fehlerhaften Block anpassen, muss das Laufwerk Host Befehle warten. ATA-Bus stellt ein weiteres Beispiel. ATA-Bus unterstützt 2 Geräte nur ein Befehl aktiv sein. Dadurch ein Laufwerk im Leerlauf, während das Laufwerk die ausstehenden Befehls services. RAID-Systeme auf Technologie können alle diese Symptome und der langsamste Responder erheblich betroffen sein. Sofern diese Systeme erweiterte Entwürfe verwenden, werden die nicht so effizient wie die Leistung von SCSI-basierte Systeme.

Es gibt Situationen, in denen eine Desktop-basierte Laufwerk oder ein Array ist eine kostengünstige Lösung. Z. B. Wenn Sie eine schreibgeschützte Datenbank für Berichte einrichten, sollte nicht auftreten viele Leistungsfaktoren einer OLTP-Datenbank Zwischenspeichern deaktiviert ist.

Laufwerksgrößen weiter. Niedrige Kosten, hohe Speicherkapazität können sehr attraktiv sein. Jedoch beim Konfigurieren des Laufwerks für SQL Server und Ihren Bedarf Antwort Zeit sorgfältig sollten Sie Folgendes:
  • Pfad Netzwerkzugriffsentwurf
  • Die Anforderung den Datenträgercache deaktivieren
Die folgende Tabelle enthält hohe Ebene Kommentare. Kommentarinformationen basiert auf häufig verwendete Konfigurationen der Herstellung.

Laufwerkstyp base SystemKommentare
IDE- und ATA
  • Mit 7.200 u/min drehen.
  • Richtet sich an Desktops und Einzelbenutzer-Clientanwendungen.
  • Datenträger-Cache ist standardmäßig aktiviert. Verwenden Sie die "Datenträgereigenschaften", Registerkarte Hardware auf die "Eigenschaften", Registerkarte "Richtlinie" Datenträger-Cache-Einstellung gesteuert.

    Hinweis Einige Laufwerke berücksichtigt diese Einstellung nicht. Diese Laufwerke erfordern ein Hersteller Dienstprogramm Cache deaktivieren.
  • Zwischenspeichern sollte deaktiviert werden, um das Laufwerk mit SQL Server verwenden.
  • IDE- und ATA-Systemen verschieben bei Aktivitäten wie beschädigter Block Host-Volume. Dies könnte angehaltene e/a-Aktivität.
IDE-tragbare computer
  • Bei 5.200 u/min drehen.
  • Richtet sich an tragbaren Computern.
  • Finden Sie andere Kommentaren IDE- und ATA-Abschnitt.
  • ReadyDrive und NAND-Flash-Speicher können stabile e/a-Funktionen.
SATA
  • Mit 7.200 u/min drehen.
  • Auf Desktops und Servern mittlere ausgerichtet.
  • Datenträger-Cache ist standardmäßig aktiviert. Verwenden Sie die "Datenträgereigenschaften", Registerkarte Hardware auf die "Eigenschaften", Registerkarte "Richtlinie" Datenträger-Cache-Einstellung gesteuert.

    Hinweis Einige Laufwerke berücksichtigt diese Einstellung nicht. Diese Laufwerke erfordern ein Hersteller Dienstprogramm Cache deaktivieren.
  • Größerer Kapazität und größeren Speicher speichert als IDE- und ATA-Teile Zähler.
  • Zwischenspeichern sollte deaktiviert werden, um das Laufwerk mit SQL Server verwenden.
  • Verkabelung und verbindet.
  • Serial Attached SCSI (SAS) Laufwerke mit Installationen verbinden Sie leicht.
  • Dazu gehören Fehler Vorhersage erstellt.
SCSI
  • Mit 10.000 und 15.000 u/min drehen.
  • Für Server und Mehrbenutzer-Applikationen entwickelt.
  • Schwerer Zoll Zyklen und geringere Fehlerraten entwickelt.
  • Datenträger-Cache ist standardmäßig aktiviert. Verwenden Sie die "Datenträgereigenschaften", Registerkarte Hardware auf die "Eigenschaften", Registerkarte "Richtlinie" Datenträger-Cache-Einstellung gesteuert.

    Hinweis Einige Laufwerke berücksichtigt diese Einstellung nicht. Diese Laufwerke erfordern ein Hersteller Dienstprogramm Cache deaktivieren.
  • Zwischenspeichern sollte deaktiviert werden, um das Laufwerk mit SQL Server verwenden.
  • Arrays und SAN-Systeme in der Regel kleinere Verkabelung und verbindet.
  • Enthalten Sie Fehler Vorhersage Konstrukte.
Serial Attached SCSI (SAS) enthält erweiterte Warteschlangen bis zu 256. SAS auch Features wie Kopf der Warteschlange und queuing angeordnet. SAS-Rückwandplatine ist so konzipiert, dass ermöglicht innerhalb desselben Systems die Verwendung von SAS- und SATA-Laufwerke. Die Vorteile von SAS-Design sind.

Die SQL Server-Installation hängt der Controller den Datenträgercache deaktivieren und einen stabilen e/a-Cache. Schreiben von Daten nicht auf verschiedenen Festplatten ist kein Hindernis für SQL Server als der Controller korrekt stabile Media Zwischenspeicherfunktionen bietet. Die Komplexität des Entwurfs Controller mit Daten wie Spiegelung erhöht.

Um Ihre Daten abzusichern, sollten alle Daten zwischenspeichern ordnungsgemäß behandelt wird. In vielen Fällen bedeutet dies, dass Sie den Schreibcache des Laufwerks deaktivieren müssen.

Hinweis Sicherstellen Sie, dass Alle alternativen Mechanismus für das Zwischenspeichern verschiedener Fehler ordnungsgemäß verarbeitet werden kann.

Microsoft hat auf mehrere SCSI- und IDE-Laufwerken mit dem Dienstprogramm SQLIOSim Tests durchgeführt. Dieses Dienstprogramm wird stark asynchronen Lese-/Schreibaktivitäten, simulierten Gerät Protokolliergerät simuliert. Test-Leistungsstatistik zeigt die durchschnittliche Schreibvorgänge pro Sekunde zwischen 50 und 70 für ein Laufwerk mit deaktivierten Schreibcache und ein Drehzahlbereich zwischen 5.200 und 7.200.

Weitere Informationen und Details SQLIOSim finden Sie im folgenden Artikel der Microsoft Knowledge Base:
231619 wie mit dem Dienstprogramm SQLIOSim auf eine SQL Server-Aktivitäten zu simulieren
Viele PC-Hersteller (z. B. Compaq, Dell, Gateway oder HP) Reihenfolge der Laufwerke mit der Schreib-Cache deaktiviert. Allerdings testen Tests zeigt, dass dies möglicherweise nicht immer der Fall, Sie immer sollten vollständig.

Hinweis Haben Sie Fragen zum Zwischenspeichern Status Ihrer Festplatte, Hersteller und Dienstprogramm oder Jumper Einstellung deaktivieren Zwischenspeichern Schreibvorgänge zu erhalten.
SQL Server erfordert die Zustellung stabile Medien wie gemäß SQL Server i/o-Zuverlässigkeitsanforderungenunterstützen. Weitere Informationen zu den Eingabe- und Ausgabeparameter für die SQL Server-Datenbank-Engine klicken Sie auf die folgenden Artikelnummer der Microsoft Knowledge Base:

967576 Microsoft SQL Server-Datenbank-Engine Input/Output Vorschriften