Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird die Unterstützung für Netzwerkdatenbankdateien in SQL Server und das Konfigurieren von SQL Server zum Speichern einer Datenbank auf einem netzwerkierten Server oder auf einem NAS-Speicherserver beschrieben.
Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 304261
Zusammenfassung
Microsoft empfiehlt in der Regel, einen SAN (Storage Area Network) oder lokal angefügten Datenträger für den Speicher Ihrer Microsoft SQL Server-Datenbankdateien zu verwenden, da diese Konfiguration die LEISTUNG und Zuverlässigkeit von SQL Server optimiert. Standardmäßig ist die Verwendung von Netzwerkdatenbankdateien, die auf einem netzwerkgebundenen Server oder einem NAS-Server (Network Attached Storage) gespeichert sind, für SQL Server nicht aktiviert.
Sie können SQL Server jedoch so konfigurieren, dass eine Datenbank auf einem Netzwerkserver oder NAS-Server gespeichert wird. Server, die für diesen Zweck verwendet werden, müssen SQL Server-Anforderungen für die Datenschreib- und Schreibzugriffsgarantie erfüllen. Dies finden Sie im Abschnitt "Weitere Informationen ".
Die folgenden Bedingungen beschreiben die Verwendung von Netzwerkdatenbankdateien, die auf einem Netzwerkserver oder NAS-Server gespeichert sind:
Diese Verwendung ist in Microsoft SQL Server 2008 R2 und höheren Versionen standardmäßig aktiviert.
Für diese Verwendung ist die Startablaufverfolgungskennzeichnung "-T1807 " erforderlich, damit sie in Microsoft SQL Server 2008 und früheren Versionen funktioniert. Ab SQL Server 2012 ist das Ablaufverfolgungskennzeichnung nicht mehr erforderlich. Weitere Informationen zum Aktivieren von Startablaufverfolgungskennzeichnungen finden Sie unter Datenbank-Engine Dienststartoptionen.
Windows Hardware Quality Lab (WHQL)-qualifizierte Geräte
Microsoft Windows-Server und Netzwerkserver oder NAS-Speicherserver, die windows Hardware Quality Lab (WHQL)-qualifiziert sind, erfüllen automatisch die Datenschreib- und Schreibschutzgarantien, die erforderlich sind, um ein SQL Server-Speichergerät zu unterstützen. Microsoft unterstützt anwendungs- und speicherbezogene Probleme in diesen Konfigurationen.
Notiz
Um von SQL Server unterstützt zu werden, sollte die NAS-Speicherlösung auch alle Anforderungen erfüllen, die im Downloaddokument aufgeführt sind: SQL Server IO Reliability Program Requirements.
Weitere Geräte
Wenn Sie ein nicht-WHQL-qualifiziertes Speichergerät mit SQL Server verwenden, das die in diesem Artikel beschriebenen E/A-Garantien für die Verwendung von Transaktionsdatenbanken unterstützt, bietet Microsoft vollständige Unterstützung für SQL Server- und SQL Server-basierte Anwendungen. Probleme mit oder verursacht durch das Gerät oder sein Speichersubsystem werden jedoch auf den Gerätehersteller verwiesen. Wenn Sie ein nicht-WHQL-qualifiziertes Speichergerät verwenden, das die in diesem Artikel beschriebenen E/A-Garantien für die Transaktionsdatenbankverwendung nicht unterstützt, kann Microsoft keine Unterstützung für SQL Server- oder SQL Server-basierte Anwendungen bereitstellen. Um festzustellen, ob Ihr nicht-WHQL-qualifiziertes Speichergerät die E/A-Garantien für die Verwendung von Transaktionsdatenbanken unterstützt, die in diesem Artikel beschrieben sind oder für die Datenbankverwendung konzipiert sind, wenden Sie sich an Ihren Geräteanbieter. Wenden Sie sich auch an Ihren Geräteanbieter, um zu überprüfen, ob Sie das Gerät ordnungsgemäß bereitgestellt und für die Verwendung von Transaktionsdatenbanken konfiguriert haben.
Weitere Informationen
Standardmäßig können Sie in SQL Server 2008 und früheren Versionen keine SQL Server-Datenbank in einer Netzwerkdateifreigabe erstellen. Jeder Versuch, eine Datenbankdatei an einem zugeordneten oder UNC-Netzwerkspeicherort zu erstellen, generiert eine der folgenden Fehlermeldungen:
Fehlermeldung 1
5105 "Geräteaktivierungsfehler"
Fehlermeldung 2
5110 "Datei 'file_name' befindet sich auf einem Netzwerkgerät, das für Datenbankdateien nicht unterstützt wird."
Dies ist das erwartete Verhalten. Das Ablaufverfolgungskennzeichnung 1807 umgeht die Überprüfung und ermöglicht ihnen die Konfiguration von SQL Server mit netzwerkbasierten Datenbankdateien. SQL Server und die meisten anderen Enterprise-Datenbanksysteme verwenden ein Transaktionsprotokoll und zugehörige Wiederherstellungslogik, um die Transaktionsdatenbankkonsistenz im Falle eines Systemausfalls oder eines nicht verwalteten Herunterfahrens aufrechtzuerhalten. Diese Wiederherstellungsprotokolle basieren auf der Möglichkeit, direkt auf das Datenträgermedium zu schreiben, damit beim Zurückgeben einer Eingabe-/Ausgabeanforderung des Betriebssystems (E/A) an den Datenbank-Manager das Wiederherstellungssystem sicher sein kann, dass der Schreibvorgang abgeschlossen ist oder der Abschluss des Schreibvorgangs gewährleistet werden kann. Jeder Fehler durch eine Software- oder Hardwarekomponente, die dieses Protokoll berücksichtigt, kann zu einem teilweisen oder totalen Datenverlust oder einer Beschädigung im Falle eines Systemausfalls führen. Weitere Informationen zu diesen Aspekten der Protokollierungs- und Wiederherstellungsprotokolle in SQL Server finden Sie unter Beschreibung der Protokollierungs- und Datenspeicheralgorithmen, die die Datensicherheit in SQL Server erweitern.
Microsoft unterstützt keine SQL Server-Netzwerkdatenbankdateien auf NAS- oder Netzwerkspeicherservern, die diese Schreib- und Schreibreihenfolgeanforderungen nicht erfüllen.
Aufgrund der Risiken von Netzwerkfehlern, die die Datenbankintegrität beeinträchtigen, zusammen mit möglichen Leistungsauswirkungen, die sich aus der Verwendung von Netzwerkdateifreigaben zum Speichern von Datenbanken ergeben können, empfiehlt Microsoft, Datenbankdateien entweder auf lokalen Datenträgersubsystemen oder in Storage Area Networks (SANs) zu speichern.
Ein NAS-System (Network Attached Storage) ist ein dateibasiertes Speichersystem, an das Clients über den Netzwerkumleitungsmodul mithilfe eines Netzwerkprotokolls (z. B. TCP/IP) anfügen. Wenn der Zugriff auf eine Datenträgerressource standardmäßig erfordert, dass eine Freigabe zugeordnet wird oder die Datenträgerressource über einen UNC-Pfad (z. B. \Servername\Sharename) im Netzwerk angezeigt wird, wird das Datenträgerspeichersystem nicht als Speicherort für SQL Server-Datenbanken unterstützt.
Leistungsprobleme
SQL Server kann, wie andere Enterprise-Datenbanksysteme, eine große Last auf ein E/A-Subsystem setzen. In den meisten großen Datenbankanwendungen spielen physische E/A-Konfiguration und Optimierung eine wichtige Rolle bei der Gesamtsystemleistung. Es gibt drei wichtige E/A-Leistungsfaktoren, die Sie berücksichtigen sollten:
- E/A-Bandbreite: Die aggregierte Bandbreite, die in der Regel in Megabyte pro Sekunde gemessen wird, die für ein Datenbankgerät dauerhaft bleiben kann.
- E/A-Latenz: Die Latenz, die normalerweise in Millisekunden gemessen wird, zwischen einer Anforderung für E/A durch das Datenbanksystem und dem Punkt, an dem die E/A-Anforderung abgeschlossen ist.
- CPU-Kosten: Die CPU-Hostkosten, die in der Regel in CPU-Mikrosekunden gemessen werden, damit das Datenbanksystem eine einzelne E/A abschließen kann.
Jeder dieser E/A-Faktoren kann zu einem Engpass werden, und Sie müssen alle diese Faktoren berücksichtigen, wenn Sie ein E/A-System für eine Datenbankanwendung entwerfen.
In seiner einfachsten Form verwendet eine NAS-Lösung einen Standardmäßigen Netzwerkumleitungssoftwarestapel, eine Standard-Netzwerkschnittstellenkarte (NIC) und Standard-Ethernet-Komponenten. Der Nachteil dieser Konfiguration besteht darin, dass alle Datei-E/A-Dateien über den Netzwerkstapel verarbeitet werden und den Bandbreiteneinschränkungen des Netzwerks selbst unterliegen. Dies kann zu Leistungs- und Datensicherheitsproblemen führen, insbesondere in Programmen, die hohe Datei-E/A-Werte erfordern, z. B. SQL Server. In einigen von Microsoft getesteten NAS-Konfigurationen war der E/A-Durchsatz ein Drittel (1/3) einer direkt angeschlossenen Speicherlösung auf demselben Server. In dieser Konfiguration war die CPU-Kosten, um eine E/A über das NAS-Gerät abzuschließen, doppelt so groß wie eine lokale E/A. Da SICH NAS-Geräte und Netzwerkinfrastruktur entwickeln, können diese Verhältnisse auch relativ zu direkt angeschlossenem Speicher oder SANs verbessert werden. Wenn Ihre Anwendungsdaten hauptsächlich im Datenbankpufferpool zwischengespeichert werden und keine der beschriebenen E/A-Engpässe auftreten, ist die Leistung eines NAS-basierten Systems wahrscheinlich für Ihre Anwendung ausreichend.
Überlegungen zu Sicherung und Wiederherstellung
SQL Server stellt die Virtuelle Geräteschnittstelle (VDI) für die Sicherung bereit. Die VDI bietet Backup-Softwareanbietern ein leistungsstarkes, skalierbares und zuverlässiges Mittel zum Ausführen von Hot Backups und zum Wiederherstellen von SQL Server-Datenbanken.
Die Sicherungssoftware funktioniert auf Datenbankdateien, die auf NAS-Geräten gespeichert sind, über VDI ohne spezielle Unterstützung für das NAS. Dies führt jedoch zu vielen zusätzlichen Netzwerkdatenverkehr während der Sicherung und Wiederherstellung. Während der Sicherung über VDI liest SQL Server die Dateien remote und übergibt die Daten an die Sicherungssoftware von Drittanbietern, die auf dem SQL Server-Computer ausgeführt wird. Der Wiederherstellungsvorgang ist analog.
Um den zusätzlichen Netzwerkaufwand zu vermeiden, muss der Sicherungsanbieter NAS-spezifische Unterstützung durch den Sicherungsanbieter und den NAS-Anbieter bereitstellen. SQL Server VDI ermöglicht es der Sicherungssoftware, Hardwaretechnologien (Split-Mirror) oder Software (Kopier-on-Write) zu nutzen, die von den NAS-Geräten unterstützt werden, um schnelle Kopien der Datenbankdateien lokal auf dem NAS zu erstellen. Diese Technologien vermeiden nicht nur den Aufwand, die Dateien über das Netzwerk zur Sicherung zu kopieren, sie können auch Wiederherstellungszeiten um Größenordnungen reduzieren.
Sicherungen, die auf NAS gespeichert sind, sind anfällig für dieselben Fehler, die sich auf Datenbankdateien auswirken, die auf dem NAS gespeichert sind. Sie sollten diese Sicherungen schützen, indem Sie sie in alternative Medien kopieren.
Achtung
Möglicherweise treten Datenbankbeschädigungen in der Sicherung auf, wenn Sie NAS-Sicherungstechnologien ohne SQL Server VDI-Unterstützung verwenden. Solche Beschädigungen umfassen tornte Seiten oder Inkonsistenzen zwischen den Protokoll- und Datendateien, wenn sie auf separaten Geräten gespeichert sind. SQL Server erkennt möglicherweise nicht die tornten Seiten oder Inkonsistenzen, bis Sie die Datenbank wiederherstellen und auf die beschädigten Daten zugreifen. Microsoft unterstützt nicht die Verwendung von NAS-Sicherungstechnologien, die nicht mit SQL Server koordiniert werden.
Der Backup-Support und DIE NAS-Anbieterunterstützung für SQL Server VDI variiert. Wenden Sie sich an Ihre NAS- und Backup-Softwareanbieter, um Details zum VDI-Support zu erhalten.
Microsoft fordert Kunden auf, die eine Bereitstellung einer NAS-Lösung für SQL Server-Datenbanken in Betracht ziehen, ihren NAS-Anbieter zu konsultieren, um sicherzustellen, dass das End-to-End-Lösungsdesign für die Datenbankverwendung vorgesehen ist. Viele NAS-Anbieter verfügen über Leitfäden und zertifizierte Konfigurationen für diese Verwendung. Microsoft empfiehlt kunden außerdem, ihre E/A-Leistung zu vergleichen, um sicherzustellen, dass keine der zuvor erwähnten E/A-Faktoren einen Engpass in ihrer Anwendung verursacht.
In der folgenden Liste wird die Unterstützung für netzwerkbasierte Dateien in SQL-Failoverclustern beschrieben:
SQL Server 2008 R2 und frühere Versionen: Nicht unterstützt
SQL Server 2012 und höhere Versionen: Unterstützt
Weitere Informationen finden Sie im folgenden Thema zu SQL Server Books Online:
Zusätzliche Hinweise
Falsche Verwendung von Datenbanksoftware mit einem NAS-Produkt oder Datenbankverwendung mit einem nicht ordnungsgemäß konfigurierten NAS-Produkt kann zu Datenverlusten einschließlich totaler Datenbankverlust führen. Wenn das NAS-Gerät oder die Netzwerksoftware die Datengarantien nicht vollständig berücksichtigt, wie z. B. Schreiben oder Schreiben durch, könnten Hardware-, Software- oder sogar Stromausfälle die Datenintegrität ernsthaft beeinträchtigen.