Delen via


Beschrijving van ondersteuning voor netwerkdatabasebestanden in SQL Server

In dit artikel wordt ondersteuning beschreven voor netwerkdatabasebestanden in SQL Server en hoe u SQL Server configureert voor het opslaan van een database op een netwerkserver of op een NAS-opslagserver.

Oorspronkelijke productversie: SQL Server
Oorspronkelijk KB-nummer: 304261

Samenvatting

Microsoft raadt over het algemeen aan een SAN (Storage Area Network) of lokaal gekoppelde schijf te gebruiken voor de opslag van uw Microsoft SQL Server-databasebestanden, omdat deze configuratie de prestaties en betrouwbaarheid van SQL Server optimaliseert. Standaard is het gebruik van netwerkdatabasebestanden die zijn opgeslagen op een netwerkserver of een NAS-server (Network Attached Storage) niet ingeschakeld voor SQL Server.

U kunt ECHTER SQL Server configureren voor het opslaan van een database op een netwerkserver of NAS-server. Servers die voor dit doel worden gebruikt, moeten voldoen aan sql Server-vereisten voor gegevensschrijfvolgorde en garanties voor write-through. Deze worden beschreven in de sectie Meer informatie .

De volgende voorwaarden beschrijven het gebruik van netwerkdatabasebestanden die zijn opgeslagen op een netwerkserver of NAS-server:

Windows Hardware Quality Lab (WHQL)-gekwalificeerde apparaten

Microsoft Windows-servers en netwerkservers of NAS-opslagservers die Windows Hardware Quality Lab (WHQL) zijn, voldoen automatisch aan de garanties voor het schrijven van gegevens en schrijfbewerkingen die nodig zijn om een SQL Server-opslagapparaat te ondersteunen. Microsoft ondersteunt problemen met betrekking tot toepassingen en opslag in deze configuraties.

Notitie

Om te worden ondersteund door SQL Server, moet de NAS-opslagoplossing ook voldoen aan alle vereisten die worden vermeld in het downloaddocument: SQL Server IO Reliability Program Requirements.

Overige apparaten

Als u een niet-WHQL-gekwalificeerd opslagapparaat gebruikt met SQL Server dat ondersteuning biedt voor de I/O-garanties voor transactioneel databasegebruik dat in dit artikel wordt beschreven, biedt Microsoft volledige ondersteuning voor SQL Server- en SQL Server-toepassingen. Problemen met of veroorzaakt door het apparaat of het opslagsubsysteem worden echter naar de fabrikant van het apparaat verwezen. Als u een niet-WHQL-gekwalificeerd opslagapparaat gebruikt dat geen ondersteuning biedt voor de I/O-garanties voor transactioneel databasegebruik dat in dit artikel wordt beschreven, kan Microsoft geen ondersteuning bieden voor SQL Server- of SQL Server-toepassingen. Als u wilt bepalen of uw niet-WHQL-gekwalificeerde opslagapparaat de I/O-garanties ondersteunt voor transactioneel databasegebruik dat in dit artikel wordt beschreven of die zijn ontworpen voor databasegebruik, neem dan contact op met de leverancier van uw apparaat. Neem ook contact op met de leverancier van uw apparaat om te controleren of u het apparaat correct hebt geïmplementeerd en geconfigureerd voor gebruik van transactionele databases.

Meer informatie

Standaard kunt u in SQL Server 2008 en eerdere versies geen SQL Server-database maken op een netwerkbestandsshare. Elke poging om een databasebestand te maken op een toegewezen of UNC-netwerklocatie genereert een van de volgende foutberichten:

  • Foutbericht 1

    5105 'Fout bij activering van apparaat'

  • Foutbericht 2

    5110 'Bestand 'file_name' is op een netwerkapparaat niet ondersteund voor databasebestanden.

Dit gedrag is verwacht. Traceringsvlag 1807 omzeilt de controle en stelt u in staat OM SQL Server te configureren met databasebestanden op basis van een netwerk. SQL Server en de meeste andere bedrijfsdatabasesystemen gebruiken een transactielogboek en de bijbehorende herstellogica om de consistentie van transactionele databases te behouden in het geval van een systeemfout of een onbeheerde afsluiting. Deze herstelprotocollen zijn afhankelijk van de mogelijkheid om rechtstreeks naar de schijfmedia te schrijven, zodat wanneer een I/O-schrijfaanvraag (besturingssysteeminvoer/uitvoer) terugkeert naar de databasebeheerder, het herstelsysteem er zeker van kan zijn dat de schrijfbewerking is voltooid of dat de voltooiing van de schrijfbewerking kan worden gegarandeerd. Elke fout door een software- of hardwareonderdeel om dit protocol te respecteren, kan leiden tot gedeeltelijk of volledig gegevensverlies of beschadiging in het geval van een systeemfout. Zie Beschrijving van logboekregistratie- en gegevensopslagalgoritmen die de betrouwbaarheid van gegevens in SQL Server uitbreiden voor meer informatie over deze aspecten van logboekregistratie- en herstelprotocollen in SQL Server.

Microsoft biedt geen ondersteuning voor sql Server-databasebestanden in het netwerk op NAS- of netwerkopslagservers die niet voldoen aan deze vereisten voor write-through en schrijfvolgorde.

Vanwege de risico's van netwerkfouten die de databaseintegriteit in gevaar brengen, samen met mogelijke gevolgen voor de prestaties die kunnen voortvloeien uit het gebruik van netwerkbestandsshares voor het opslaan van databases, raadt Microsoft u aan om databasebestanden op te slaan op lokale schijfsubsystemen of in SAN's (Storage Area Networks).

Een NAS-systeem (Network Attached Storage) is een bestandssysteem dat clients via de netwerkomleiding koppelen met behulp van een netwerkprotocol (zoals TCP/IP). Als voor toegang tot een schijfresource standaard een share moet worden toegewezen of als de schijfresource wordt weergegeven als een externe server via een UNC-pad (bijvoorbeeld \Servernaam\Sharename) in het netwerk, wordt het schijfopslagsysteem niet ondersteund als een locatie voor SQL Server-databases.

Prestatieproblemen

SQL Server kan, net als andere bedrijfsdatabasesystemen, een grote belasting op een I/O-subsysteem plaatsen. In de meeste grote databasetoepassingen spelen fysieke I/O-configuratie en afstemming een belangrijke rol bij de algehele systeemprestaties. Er zijn drie belangrijke I/O-prestatiefactoren om rekening mee te houden:

  • I/O-bandbreedte: de geaggregeerde bandbreedte, meestal gemeten in megabytes per seconde die kunnen worden voortgezet op een databaseapparaat.
  • I/O-latentie: de latentie, meestal gemeten in milliseconden, tussen een aanvraag voor I/O door het databasesysteem en het punt waar de I/O-aanvraag is voltooid.
  • CPU-kosten: de cpu-kosten van de host, meestal gemeten in CPU-microseconden, zodat het databasesysteem één I/O kan voltooien.

Elk van deze I/O-factoren kan een knelpunt worden en u moet al deze factoren overwegen wanneer u een I/O-systeem ontwerpt voor een databasetoepassing.

In de eenvoudigste vorm maakt een NAS-oplossing gebruik van een standaard netwerkomleidingssoftwarestack, standaard netwerkinterfacekaart (NIC) en standard Ethernet-onderdelen. Het nadeel van deze configuratie is dat alle bestands-I/O wordt verwerkt via de netwerkstack en onderhevig is aan de bandbreedtebeperkingen van het netwerk zelf. Dit kan prestatie- en gegevensbetrouwbaarheidsproblemen veroorzaken, met name in programma's waarvoor hoge niveaus van bestands-I/O nodig zijn, zoals SQL Server. In sommige NAS-configuraties die door Microsoft zijn getest, was de I/O-doorvoer een derde (1/3) die van een direct gekoppelde opslagoplossing op dezelfde server. In dezelfde configuratie waren de CPU-kosten voor het voltooien van een I/O via het NAS-apparaat tweemaal dat van een lokale I/O. Naarmate NAS-apparaten en netwerkinfrastructuur zich ontwikkelen, kunnen deze verhoudingen ook worden verbeterd ten opzichte van direct gekoppelde opslag of SAN's. Als uw toepassingsgegevens meestal in de cache worden opgeslagen in de databasebuffergroep en u geen van de beschreven I/O-knelpunten ondervindt, zijn de prestaties van een NAS-systeem waarschijnlijk voldoende voor uw toepassing.

Overwegingen voor back-up en herstel

SQL Server biedt de VDI (Virtual Device Interface) voor back-up. De VDI biedt leveranciers van back-upsoftware een krachtige, schaalbare en betrouwbare methode voor het uitvoeren van dynamische back-ups en voor het herstellen van SQL Server-databases.

Back-upsoftware werkt op databasebestanden die zijn opgeslagen op NAS-apparaten via VDI, zonder speciale ondersteuning die specifiek is voor de NAS. Dit resulteert echter in veel extra netwerkverkeer tijdens back-up en herstel. Tijdens het maken van back-ups via VDI leest SQL Server de bestanden op afstand en geeft de gegevens door aan de back-upsoftware van derden die wordt uitgevoerd op de SQL Server-computer. De herstelbewerking is vergelijkbaar.

Om de extra netwerkoverhead te voorkomen, moet de back-upleverancier NAS-specifieke ondersteuning bieden door de back-upleverancier en de NAS-leverancier. Met SQL Server VDI kan de back-upsoftware profiteren van hardwaretechnologieën (split-mirror) of software (copy-on-write) die door de NAS-apparaten worden ondersteund om snelle kopieën te maken van de databasebestanden die lokaal zijn op de NAS. Deze technologieën vermijden niet alleen de overhead van het kopiëren van de bestanden via het netwerk voor back-up, maar ze kunnen ook hersteltijden verminderen op grootte.

Back-ups die zijn opgeslagen op NAS zijn kwetsbaar voor dezelfde fouten die van invloed zijn op databasebestanden die zijn opgeslagen op de NAS. Overweeg deze back-ups te beveiligen door ze te kopiëren naar alternatieve media.

Let op

Mogelijk ondervindt u beschadiging van de database in de back-up als u NAS-back-uptechnologieën gebruikt zonder ondersteuning voor SQL Server VDI. Dergelijke beschadigingen omvatten gescheurde pagina's of inconsistenties tussen het logboek en gegevensbestanden als ze op afzonderlijke apparaten worden opgeslagen. SQL Server detecteert de gescheurde pagina's of inconsistenties mogelijk pas nadat u de database hebt hersteld en toegang hebt tot de beschadigde gegevens. Microsoft biedt geen ondersteuning voor het gebruik van NAS-back-uptechnologieën die niet worden gecoördineerd met SQL Server.

Back-upondersteuning en NAS-leverancierondersteuning voor SQL Server VDI varieert. Neem contact op met uw NAS- en back-upsoftwareleveranciers voor meer informatie over VDI-ondersteuning.

Microsoft dringt er bij klanten aan die een implementatie van een NAS-oplossing voor SQL Server-databases overwegen om hun NAS-leverancier te raadplegen om ervoor te zorgen dat het end-to-end-oplossingsontwerp voor databasegebruik is. Veel NAS-leveranciers hebben best practice handleidingen en gecertificeerde configuraties voor dit gebruik. Microsoft raadt klanten ook aan hun I/O-prestaties te benchmarken om ervoor te zorgen dat geen van de eerder genoemde I/O-factoren een knelpunt in hun toepassing veroorzaakt.

In de volgende lijst wordt ondersteuning beschreven voor netwerkbestanden op SQL-failoverclusters:

Aanvullende opmerkingen

Onjuist gebruik van databasesoftware met een NAS-product of databasegebruik met een onjuist geconfigureerd NAS-product kan leiden tot gegevensverlies, inclusief totaal databaseverlies. Als de NAS-apparaat- of netwerksoftware niet volledig voldoet aan gegevensgaranties, zoals schrijfvolgorde of write-through, kunnen hardware, software of zelfs stroomstoringen de gegevensintegriteit ernstig in gevaar brengt.

Verwijzingen