Vereisten voor Microsoft SQL Server i/o-subsysteem voor de database tempdb

Van toepassing: Microsoft SQL Server 2005 Express EditionMicrosoft SQL Server 2005 Standard EditionMicrosoft SQL Server 2005 Workgroup Edition

Samenvatting


Microsoft SQL Server is vereist dat de i/o-subsysteem dat wordt gebruikt voor het opslaan van systeem- en gebruikersdatabases volledig voldoen aan eisen vooraf geschreven Logging (WAL) via bepaalde i/o-beveiligings-principals. Deze eisen zijn nodig om te kunnen voldoen aan de ACID-eigenschappen van transacties: atomisch, Consistent, geïsoleerd en duurzaam. Meer informatie over i/o-subsysteem aan vereisten zijn in de volgende bronnen beschikbaar:De volgende lijst is een snelle samenvatting van de vereisten:
  • Bestellen van schrijven moet worden gehandhaafd.
  • Afhankelijke schrijven consistentie moet worden gehandhaafd.
  • Schrijft moeten altijd worden beveiligd in/op stabiele media.
  • Gescheurde i/o-preventie moet plaatsvinden.
Duurzaamheid onderhoud kan blijft van cruciaal belang voor alle andere databases maar ontspannen voor de database tempdb . In de volgende tabel bevat een overzicht van enkele van de essentiële i/o-vereisten voor SQL Server-databases.
I/o-behoefteKorte beschrijvingSysteem- ofTempDB
Schrijven bestellen

Afhankelijke schrijven consistentie
De mogelijkheid om bij te houden van de juiste volgorde van schrijfbewerkingen van het subsysteem. Dit is vooral belangrijk voor mirroring oplossingen, vereisten consistentie en SQL Server WAL-protocol gebruiken.VereistAanbevolen
Lees na het schrijvenDe mogelijkheid van het subsysteem service leesopdrachten met de meest recente gegevens afbeelding bij het lezen wordt afgegeven nadat alle schrijven is voltooid.VereistVereist
Overleving over stroomstoringDe mogelijkheid om gegevens te blijven volledig intact (duurzame) via een storing, zoals een systeem opnieuw opstarten.VereistNiet van toepassing
Gescheurde i/o-preventieDe mogelijkheid van het systeem om te voorkomen dat afzonderlijke i/o-aanvragen te splitsen.VereistAanbevolen
Sector herschrijvenDe sector kan alleen worden geschreven in zijn geheel en kan niet worden herschreven door een aanvraag voor een sector in de buurt.* Afgeraden, alleen toegestaan als transactionele* Afgeraden, alleen toegestaan als transactionele
Harde gegevensDe verwachting is dat wanneer een aanvraag of een FlushFileBuffers-bewerking is voltooid, gegevens zijn opgeslagen voor stabiele media.VereistNiet van toepassing
Fysieke sector uitlijning en grootteSQL Server interrogates-gegevens en logboekbestanden opslag locatie van de. Alle apparaten zijn vereist voor de ondersteuning van de sector kenmerken waardoor schrijfbewerkingen worden uitgevoerd op de fysieke grenzen sector uitgelijnd en in veelvouden van de sectorgrootte van SQL Server.VereistVereist
* Transactionele sector herschreven moeten worden volledig geregistreerde bewerkingen door het subsysteem toe te staan een sector worden volledig verplaatst, vervangen of hersteld naar de oorspronkelijke afbeelding. Deze herschreven worden meestal ontmoedigd vanwege de extra overhead nodig is voor het uitvoeren van dergelijke acties. Een voorbeeld hiervan zou zijn dat de gegevens in een bestand voor een defragmentatie. De oorspronkelijke sector in het bestand kan niet worden vervangen door de nieuwe locatie in de sector totdat de nieuwe sector en de gegevens worden volledig beveiligd. Het opnieuw toewijzen van de sector moet plaatsvinden op een transactionele manier, zodat eventuele storingen, met inbegrip van een stroomstoring zorgt ervoor het herstel van de oorspronkelijke gegevens dat. Zorg ervoor dat u vergrendelingsmechanismen die beschikbaar zijn tijdens dit soort proces om te voorkomen dat ongeldige gegevens hebt, waardoor handhaving van de andere huurders van I/O voor SQL Server.

Overleving over stroomstoring

De database tempdb is een proefruimte voor SQL Server en bij elke start SQL Server opnieuw wordt opgebouwd. De initialisatie vervangt eventuele behoefte aan gegevens opnieuw worden bewaard.

Transactionele sector herschrijven bewerkingen

Om het succes van de herstel-processen, zoals het terugdraaien en crash herstel, garanderen moeten de logboekrecords worden correct opgeslagen op stabiele media voordat de gegevenspagina worden opgeslagen en kan niet worden herschreven zonder transactionele eigenschappen behouden blijft. Hiervoor moet het subsysteem en de specifieke kenmerken, zoals het bestellen van schrijven, sector uitgelijnd en de grootte van schrijfbewerkingen, en andere i/o-veiligheid kenmerken die worden beschreven in de eerder genoemde documenten onderhouden door SQL Server. Voor de database tempdb is de crashherstel niet nodig omdat de database altijd tijdens het opstarten van SQL Server wordt geïnitialiseerd. De database tempdb vereist echter nog steeds mogelijkheden voor terugdraaien. Sommige kenmerken van de WAL-protocol kunnen daarom worden versoepeld.

De opslaglocatie voor de database tempdb moet strikt in overeenstemming met de protocollen van de vaste schijf fungeren. In alle opzichten moet het apparaat waarop de tempdb -database is opgeslagen, wordt weergegeven en fungeren als een fysieke schijf die alleen na het schrijven. Transactie sector herschrijven bewerkingen mogelijk een extra behoefte van specifieke implementaties. SQL Server ondersteunt bijvoorbeeld geen database wijzigingen met behulp van NTFS-bestandscompressie systeem omdat NTFS-compressie kunt herschrijven sectoren van het logboek dat al is geschreven en beschouwd als Hardstalen. Een fout tijdens dit soort herschrijven kan leiden tot de database worden gebruikt, gegevens beschadigen die SQL Server al als veilig beschouwd.

Opmerking SQL Server 2005 uitgebreide ondersteuning of compressie alleen databases en bestandsgroepen lezen. Zie SQL Server 2005 Books Online voor volledige informatie.

Transactionele sector herschrijven bewerkingen zijn relevant voor alle SQL Server-databases waarin de database tempdb . Groeiende tal van technologieën voor langdurige opslag apparaten en hulpprogramma's die u kunnen gegevens die in SQL Server veilig acht herschrijven gebruiken. Bijvoorbeeld, uitvoeren sommige van de opkomende technologieën in het geheugen caching of compressie. Om te voorkomen dat de database van ernstige schade, moet elke sector herschrijven volledige transactieondersteuning hebben zo dat als er een storing optreedt, de gegevens hersteld naar de vorige sector afbeeldingen. Dit zorgt ervoor dat de SQL Server nooit wordt blootgesteld aan een voorwaarde voor schade of een onverwachte onderbreking.

U kunt mogelijk de database tempdb plaatsen op speciale subsystemen, zoals RAM-schijven, solid state of andere implementaties met hoge snelheid die kunnen worden gebruikt voor andere databases. Echter moeten de belangrijkste factoren die in de sectie 'Meer informatie' worden beschouwd, wanneer de evaluatie van deze opties.

Meer informatie


Verschillende factoren moeten zorgvuldig worden bestudeerd wanneer de evaluatie van de locatie van de database tempdb . Bijvoorbeeld het gebruik van de database tempdb omvat, maar is niet beperkt tot, geheugengebruik, queryplan en i/o-beslissingen. De juiste afstemmen en de uitvoering van de database tempdb kunnen de schaalbaarheid en flexibiliteit van een systeem te verbeteren. Deze sectie bespreekt de belangrijkste factoren bij het bepalen van de opslagbehoeften voor de database tempdb .

Hoge snelheid subsystemen

Er zijn verschillende implementaties van hoge snelheid subsysteem beschikbaar op de markt waarmee SQL Server i/o-subsysteem protocol voorschriften maar die geen duurzaamheid van de media.

Belangrijk Controleer altijd met de leverancier van het product te garanderen van volledige overeenstemming met SQL Server i/o-behoeften.

Een RAM-schijf is een voorbeeld van een dergelijke uitvoering. RAM-schijven de benodigde stuurprogramma's installeren en inschakelen van deel van de belangrijkste RAM-schijf moet worden weergegeven en functioneert als een schijf die is aangesloten op het systeem. Alle i/o-subsystemen moeten volledige naleving van de vereisten voor SQL Server i/o-bieden. Het is echter duidelijk een RAM-schijf is niet duurzaam medium. Daarom een toepassing zoals een RAM-schijf kan alleen worden gebruikt als de locatie van de database tempdb en kan niet worden gebruikt voor een andere database.

Toetsen om te overwegen vóór de implementatie en distributie

Er zijn verschillende punten te overwegen vóór de implementatie van de database tempdb op dit type subsysteem. Deze sectie wordt een RAM-schijf gebruikt als basis voor discussie, maar soortgelijke resultaten optreden in andere implementaties met hoge snelheid.

I/o-veiligheid

Naleving van lezen, schrijven en schrijft transactionele sector is een must. SQL Server nooit te implementeren op alle systemen die de vereisten voor SQL Server i/o-niet volledig ondersteunt of loopt u het risico schade en verlies van uw gegevens.

Pagina's al in de cache (dubbele RAM-cache)

Tijdelijke tabellen zijn vergelijkbaar met andere tabellen in een database. Ze zijn in de cache opgeslagen door de buffergroep en verwerkt door de lazy schrijfbewerkingen. Tijdelijke tabel pagina's opslaan op een RAM-schijf zorgt ervoor dat dubbele RAM caching, één in de buffergroep en één in de RAM-schijf. Dit rechtstreeks zich van de buffergroep totale grootte, en in het algemeen vermindert de prestaties van SQL Server.

Giving up RAM-geheugen

De RAM-schijf geeft een deel van de belangrijkste RAM-geheugen, zoals de naam al aangeeft. Er zijn verschillende implementaties van RAM-schijven en bestanden op basis van een RAM-cache. Enkele inschakelen fysische I/O operations back-ups ook. Het belangrijkste element van de cache van het RAM-geheugen-bestand is dat deze direct zich van het fysieke geheugen dat kan worden gebruikt door SQL Server. Hebben altijd sterke aanwijzingen dat een bestand op basis van een RAM-cache verbetert de toepassingsprestaties en toevoegen is niet van invloed op de prestaties van andere query of toepassing.

Eerst afstemmen

Een toepassing moet afstemmen om onnodige en ongewenste sorteren en waardoor het gebruik van de database tempdb -hashes te verwijderen. Vaak is de toevoeging van een index kan de noodzaak voor de sorteerbewerking of hash-in het plan volledig verwijderen, leidt tot optimale prestaties zonder het gebruik van de database tempdb .

Mogelijke vergoeding punten

De voordelen van het plaatsen van de database tempdb op een systeem met hoge snelheid kunnen alleen worden bepaald door middel van strenge testprocedures en metingen van de werkbelasting van toepassingen. De werklast is voor de kenmerken die de database tempdb kan profiteren en de i/o-veiligheid moet worden bevestigd voordat de implementatie zorgvuldig worden bestudeerd.

Het sorteren en hash-bewerkingen werken samen met het geheugenbeheer in SQL Server om te bepalen van de grootte van de proefruimte in het geheugen voor elke sorteren of hash-bewerking. Zodra de gegevens sorteren of hash groter is dan het kladgebied toegewezen in het geheugen, kunnen gegevens worden weggeschreven naar de database tempdb . Dit algoritme is uitgebreid in SQL Server 2005, de voorschriften gebruik van tempdb -database te verminderen ten opzichte van eerdere versies van SQL Server. Met behulp van een zuivere gedwongen sorteren van een tabel geen indexen, aflopende volgorde en dezelfde hardwareconfiguratie, SQL Server 2005 ziet u bijvoorbeeld verbeteringen in SQL Server 2000.

Waarschuwing SQL Server is ontworpen voor de rekening voor het geheugen en de huidige activiteiten van de query wanneer query plan beslissingen met betrekking het gebruik van tempdb databasebewerkingen tot. Dus variëren de hogere prestaties aanzienlijk op basis van werkbelasting en het ontwerp van toepassing. Wij raden u in te vullen met de gewenste oplossing mogelijke winsten bepalen en beoordelen van i/o-veiligheidsvoorschriften voor een dergelijke installatie testen.

De database tempdb SQL Server gebruikt voor verschillende activiteiten met betrekking tot sorteren, hashes, de winkel rij versie worden verwerkt en temp tabellen:
  • Tijdelijke tabellen worden beheerd door de algemene buffer pool routines voor pagina's met gegevens en over het algemeen vertonen geen prestatievoordelen van speciale subsysteem-implementaties.
  • De database tempdb wordt gebruikt als een proefruimte voor hashes en gesorteerd. Korte wachttijden voor dergelijke bewerkingen I/O kan het nuttig zijn. Weet echter dat het een index om te voorkomen dat een hash of een sorteervolgorde toe te voegen een soortgelijk voordeel kan bieden.
Basislijnen worden uitgevoerd met en zonder de database tempdb opgeslagen op het subsysteem hoge snelheid prestaties vergelijken. Deel van het testen van query's op de database die niet worden gesorteerd, hashes of tijdelijke tabellen en bevestig vervolgens dat deze query's worden niet aangetast dient te bevatten. Bij de evaluatie van het systeem kunnen de volgende prestatie-indicatoren handig zijn.
IndicatorDescription/usage
Pagina lees- en schrijfbewerkingenHet verbeteren van de tempdb kan database o vanwege de lagere latentie is gekoppeld aan de database tempdb i/o-de snelheid van de pagina lees- en schrijfbewerkingen voor de databases wijzigen. Het totale aantal moet voor gebruiker database-pagina's niet in de werkbelasting dezelfde veranderen.
Fysieke lezen en schrijven naar de database tempdbAls de database tempdb verplaatsen naar een apparaat, zoals een RAM-schijf, de werkelijke I/O voor de database tempdb stijgt, betekent dit dat het geheugen van de buffergroep die wordt veroorzaakt door de toegenomen tempdb -database activiteit plaatsvindt. Dit patroon is een indicator dat de levensverwachting van de pagina database-pagina's mei ook op een negatieve wijze beïnvloed.
Levensverwachting voor paginaEen toename van de fysieke i/o-vereisten voor een gebruikersdatabase kan duiden op een daling van de levensverwachting voor pagina. De daling van de rente kan waarschijnlijk geven aan dat het geheugen van de buffergroep genomen dwingt databasepagina's de buffergroep voortijdig afgesloten. Combineren met de andere indicatoren en testen om de grenzen van de parameter beter te begrijpen.
Algehele doorvoer
CPU-gebruik
Schaalbaarheid
Reactietijd
Het voornaamste doel van een configuratiewijziging tempdb -database is de totale doorvoersnelheid te verhogen. Het testen, moet herhaalbaar werklast die kunnen worden geschaald uit om te bepalen hoe de doorvoer wordt beïnvloed door elkaar bevatten.

Een handeling zoals een implementatie op basis van compressie RAM-schijf goed met 10 gebruikers werken kan. Dit kan met grotere werklast, push-CPU niveau dan de gewenste niveaus en hebben negatieve effecten op de responstijd waarop de werklast te hoog zijn. True stresstests en toekomstige werklast voorspelling proeven wordt geadviseerd.
Werkbestanden en acties voor werk tabel makenAls de database tempdb verplaatsen naar een apparaat, zoals een RAM-schijf, het queryplan verandert doordat het nummer of de grootte van de werkbestanden of werktabellen, betekent dit dat het geheugen van de buffergroep die wordt veroorzaakt door de toegenomen tempdb -database activiteit plaatsvindt. Dit patroon is een aanwijzing dat de levensverwachting van de pagina database-pagina's kunnen ook worden getroffen op een negatieve manier.

Voorbeeld van de transactionele sector herschrijven

In het volgende voorbeeld wordt ingegaan wordt de beveiliging van gegevens die voor SQL Server-databases vereist is.

Stel dat een leverancier RAM-schijf gebruikt een compressie in het geheugen van de implementatie. De uitvoering moet door middel van de fysieke weergave van de stream van het bestand als de sector is uitgelijnd en de grootte van SQL Server is niet op de hoogte en goed beveiligde uit de onderliggende toepassing correct worden ingekapseld. Bekijk het voorbeeld compressie dichter.
Actie
Sector 1 is geschreven naar het apparaat en wordt gecomprimeerd om ruimte te besparen.
Sector 2 is geschreven naar het apparaat en is gecomprimeerd met de sector 1 om ruimte te besparen.
Het apparaat kan de volgende acties ter beveiliging van sector 1 van gegevens wanneer deze wordt gecombineerd met de sector van 2 gegevens uitvoeren.
Actie
Blokkeer alle schrijfbewerkingen naar sectoren 1 en 2.
Decomprimeer sector 1 in een proefruimte opslag met huidige sector 1 verlaten als de actieve gegevens moeten worden opgehaald.
Comprimeert sectoren 1 en 2 in een nieuwe indeling.
Blokkeer alle lees- en schrijfbewerkingen sectoren 1 en 2.
Oude opslag voor sectoren 1 en 2 met nieuwe opslag uitwisselen.
Als de uitwisseling niet lukt (rollback):
  • Herstel de oorspronkelijke opslag voor sectoren 1 en 2.
  • Sectoren 1 en 2 gecombineerde gegevens van het kladgebied verwijderen.
  • Sector 2 de bewerking mislukken.
Lees- en schrijfbewerkingen voor sectoren 1 en 2, wordt de blokkering opheffen.
De mogelijkheid te bieden vergrendeling mechanismen om de wijzigingen van de sector en wijzigingen terug te draaien de wanneer de sector exchange poging mislukt wordt beschouwd als compatibel met transitionally. Voor implementaties die gebruikmaken van fysieke opslag voor een uitgebreide back-ups, zouden hierbij de juiste transactie log aspecten te beveiligen en wijzigingen die zijn toegepast op de structuren op de schijf de integriteit van de SQL Server-databasebestanden terug te draaien.

Een apparaat waarmee het herschrijven van sectoren moet de herschreven op een transactionele manier ondersteunen zodat SQL Server wordt niet blootgesteld aan verlies van gegevens.

Opmerking Het exemplaar van SQL Server opnieuw wordt opgestart wanneer online I/O en rollback storingen in de database tempdb optreden .

Wees voorzichtig wanneer u de database tempdb verplaatsen

Wees voorzichtig wanneer u de database tempdb verplaatsen omdat als de database tempdb kan niet worden gemaakt, SQL Server niet worden gestart. Als de database tempdb kan worden gemaakt, start u SQL Server met behulp van de (-f) opstartparameter en de database tempdb verplaatsen naar een geldige locatie.

De fysieke locatie van de database tempdb , Ga als volgt te werk:
  1. De instructie ALTER DATABASE en het bestand wijzigen-component gebruiken om de fysieke naam van elk bestand in de database tempdb om te verwijzen naar het nieuwe fysieke locatie, zoals de nieuwe schijf.
    Alter database tempdb modify file 
    (name = tempdev, filename = 'C:\MyPath\tempdb.mdf')

    Alter database tempdb modify file
    (name = templog, filename = 'C:\MyPath\templog.ldf')
  2. Stop en start SQL Server opnieuw.

Partner product certificaten zijn niet een garantieperiode van verenigbaarheid of veiligheid

Een product van derden of een bepaalde leverancier kan een Microsoft logo-certificering ontvangen. Echter, partner certificering of een specifieke Microsoft-logo garandeert niet compatibel of geschiktheid voor een bepaald doel in SQL Server.

Ondersteuning

Als u een subsysteem met SQL Server die de i/o-garanties voor transactionele database gebruiken zoals beschreven in dit artikel ondersteunt, biedt Microsoft ondersteuning voor SQL Server en SQL Server-toepassingen. Echter problemen met, of veroorzaakt door, het subsysteem wordt verwezen naar de fabrikant.

Voor tempdb -database-problemen met Microsoft Support Services wordt u gevraagd naar de database tempdb verplaatsen. Neem contact op met de leverancier van uw apparaat om te controleren of u hebt correct geïmplementeerd en het apparaat voor transactionele database geconfigureerd.

Microsoft niet certificeren of valideren dat producten van andere leveranciers correct met SQL Server werken. Microsoft biedt ook geen eventuele garantie, garantieperiode of instructie van een derde partij product geschikt is voor gebruik met SQL Server.

Referenties


Voor meer informatie klikt u op de volgende artikelnummers om de artikelen in de Microsoft Knowledge Base te bekijken:

826433 PRB: extra SQL Server Diagnostische gegevens toegevoegd aan de niet-aangegeven i/o-problemen detecteren

828339 foutbericht 823 kan duiden op problemen met de hardware- en systeemproblemen in SQL Server

234656 met behulp van schijf caching met SQL Server

304261 beschrijving van de ondersteuning voor netwerk in SQL Server-databasebestanden

913945 Microsoft garandeert niet dat producten van andere leveranciers met Microsoft SQL Server werken

910716 -vereisten voor SQL Server 2005 en SQL Server 2000 voor ondersteuning van externe mirroring van gebruikersdatabases

917043 sleutel rekening houden bij de beoordeling van de externe cache bestandssystemen met SQL Server

Met behulp van SSD in Azure VMs Buffer Pool extensies en SQL Server TempDB opslaan

De beste prestaties voor SQL Server in Azure virtuele Machines

Plan uw zoekopdracht optimaliseren met de SQL Server 2014 kardinaliteit Estimator

Prestaties van query 's


De informatie in dit document geeft de huidige visie van Microsoft Corporation op de besproken kwesties vanaf de datum van publicatie. Omdat Microsoft reageren moet op veranderende marktomstandigheden, mag dit niet worden beschouwd als een garantie van Microsoft en Microsoft kan niet garanderen de nauwkeurigheid van de informatie die na de datum van publicatie.

Dit document is uitsluitend ter informatie. MICROSOFT GEEFT GEEN GARANTIES, EXPLICIET, IMPLICIET OF STATUTAIR, MET BETREKKING TOT DE INFORMATIE IN DIT DOCUMENT.

Die voldoet aan alle geldende copyrightwetten is de verantwoordelijkheid van de gebruiker. Zonder de rechten onder copyright te beperken, mag geen enkel deel van dit document worden gereproduceerd, opgeslagen in of ingevoerd in een downloadsysteem of verzonden in enige vorm of op enigerlei wijze (elektronisch, mechanisch, fotokopieën, opname of anderszins), of voor enig doeleinde zonder de uitdrukkelijke schriftelijke toestemming van Microsoft Corporation.

Microsoft beschikt mogelijk over patenten, patentaanvragen, handelsmerken, auteursrechten of andere intellectuele eigendomsrechten met betrekking tot materiaal in dit document. Tenzij uitdrukkelijk vermeld in een schriftelijke gebruiksrechtovereenkomst van Microsoft, de verschaffing van dit document u geen op deze octrooien, handelsmerken, auteursrechten of andere intellectuele eigendomsrechten gebruiksrecht.

© 2006 Microsoft Corporation. Alle rechten voorbehouden.

Microsoft, Windows, Windows Server en SQL Server zijn gedeponeerde merken of merken van Microsoft Corporation in de Verenigde Staten en/of andere landen.
SQL Server systemen ter ondersteuning van "gegarandeerde levering aan stabiele media" als omschreven in de Vereisten voor SQL Server i/o-betrouwbaarheid wordtvereist. Voor meer informatie over de vereisten voor invoer en uitvoer voor de SQL Server-database-engine, klikt u op het volgende artikel in de Microsoft Knowledge Base:

967576 Microsoft SQL Server Database Engine invoer/uitvoer-vereisten