Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Sammanfattning

Ett databassystem är först och främst ansvarar för korrekt lagring och hämtning av data, även om oväntade systemfel.

Systemet måste garantera odelbarhet och hållbarheten hos transaktioner vid redovisning av aktuell körning, flera transaktioner och olika felpunkter. Detta kallas ofta för sur (odelbarhet, konsekvens, isolering och hållbarhet) egenskaper.

Denna artikel handlar om konsekvenserna av en diskenhet cachelagras. Det rekommenderas att du läser följande artiklar i Microsoft Knowledge Base efter ytterligare förtydligande av cachelagring och alternativa fel läge diskussioner:

86903 SQL Server och cachelagring på styrenheter

230785 utöka datasäkerheten loggning för SQL Server 7.0 och SQL Server 2000 och algoritmer för lagring av data

Du bör även följande dokument:

Obs!  Dessa två dokument som gäller för alla versioner av SQL Server som stöds.

Mer Information

Microsoft SQL Server och många vanliga databasprodukter på marknaden använder idag protokollet Write-Ahead Logging (WAL).

Write-Ahead Logging Protocol (WAL)
Begreppet prövningsprotokoll är ett utmärkt sätt att beskriva WAL. Det är en specifik och definierad uppsättning genomföra steg krävs för att säkerställa att data lagras och utbyts korrekt och kan återställas till ett känt läge vid fel. Precis som ett nätverk innehåller en definierade protokollet för att utbyta data på ett sätt som är konsekvent och skyddade, så för beskrivs WAL protokoll för att skydda data.Alla versioner av SQL Server öppna de med hjälp av funktionen Win32 CreateFile logg- och datafiler. Medlemmen dwFlagsAndAttributes innehåller ett FILE_FLAG_WRITE_THROUGH alternativ när öppnas av SQL Server.

FILE_FLAG_WRITE_THROUGH
Det här alternativet anger att systemet ska skriva via en mellanliggande cache och gå direkt till disken. Systemet fortfarande kan cachelagra skrivåtgärder men lazily tömning inte.

Alternativet FILE_FLAG_WRITE_THROUGH säkerställer att när en skrivning åtgärden returnerar lyckades data lagras på rätt sätt i stabil lagring. Detta justeras med skriva före inloggning (WAL)-Protokollspecifikationen för data.Många hårddiskar (SATA, ATA, SCSI- och IDE-baserade) innehåller inbyggda cache 512 KB, 1 MB, och större. Enheten cacheminnen beroende vanligtvis inte en batteriförsörjd lösningoch en kondensator. Dessa cachelagring mekanismer kan inte garantera skriver över en cykel eller liknande fel punkt. De kan bara garantera förverkligandet av sektorn för skrivåtgärder. Som enheter fortsätter att växa i storlek, cachar blir större och de kan exponera större mängder data vid ett fel.


Förbättrad cachelagring controller system inaktiverar på diskcachen och ger en funktionell batteriuppbackat cache lösning. Cachelagringen kan behålla data i cacheminnet för flera dagar och även tillåta cachelagring kortet ska placeras i en annan dator. När strömmen återställs korrekt, töms helt unwritten data innan ytterligare dataåtkomst tillåts. Många av dem att andelen Läs kontra skrivcache som skall fastställas för optimala prestanda. Innehåller några lagringsutrymmen för stort minne. I själva verket ger ett mycket specifika segment av marknaden del maskinvaruleverantörer avancerade batteriuppbackat disk cachelagring av system med flera gigabyte cache. Dessa kan avsevärt förbättra databasens prestanda.

I/o-överföringar som utförs utan användning av cache-minnet kan vara betydligt längre på grund av hårddisk snurra skattesatser mekanisk tid som behövs för att flytta enheten huvuden och andra Begränsande faktorer. SQL Server-installationer är inriktade på system som ger styrenheter för cachelagring. Dessa styrenheter inaktivera för disk-cache och ger stabil media cachelagras för SQL Server i/o-kraven. De undvika prestandaproblem som är relaterade till disk seek och skriva gånger med olika optimeringar av cache-styrenheten.

Det finns många typer av delsystemet. RAID och SAN är två exempel på dessa typer av delsystemet. Systemen byggs oftast med SCSI-baserade enheter. Det finns flera orsaker till detta. I följande avsnitt beskrivs generellt tänka på hög nivå enhet.

SCSI-enheter:

  • Vanligen tillverkade för tunga.

  • Är vanligtvis inriktade på nätverk, server-baserade implementeringar.

  • Har vanligen bättre tiden till fel än andra implementeringar.

  • Innehåller avancerad heuristik för att förutsäga fel överhängande.

Andra enhet-implementeringar, till exempel IDE ATA och SATA:

  • Vanligen tillverkade för ljus och medelstora tull.

  • Är vanligtvis inriktade på enstaka användare-baserade program.

  • Vissa nyare implementeringar innehåller avancerad heuristik för att förutsäga fel överhängande.

Icke-SCSI, desktop-baserade domänkontrollanter kräver mer bandbredd i centrala processorn (CPU) och ofta begränsas av ett enda aktiva kommando. Till exempel när en icke-SCSI-enhet justering av ett felaktigt block, så kräver enheten att kommandona värddator väntar. ATA-bussen presenterar ett annat exempel. ATA-bussen stöder 2 enheter, men endast ett enda kommando kan vara aktiv. I det här fallet en enhet inaktiv medan den andra enheten services-kommandot väntande. RAID-system som byggts med stationär teknik kan alla de här problemen och påverkas mycket av den långsammaste svarande. Om inte dessa system använder avancerad design, deras prestanda inte lika effektiv som prestanda för SCSI-baserade system.

Det finns situationer där en desktop-baserade enhet eller matris är en lämplig lösning för låg kostnad. Om du ställer in en skrivskyddad databas för rapportering, uppstå som till exempel inte många resultatfaktorer av OLTP-databasen när diskcachelagring inaktiveras.

Diskstorlekar fortsätter att öka. Låg kostnad, hög kapacitet enheter kan vara tilltalande. Men när du konfigurerar enheten för SQL Server och dina affärsbehov svar tid du bör tänka på följande:

  • Åtkomsten sökvägen design

  • Kravet på att inaktivera för disk-cache

Följande tabell ger hög nivå kommentarer. Kommentar information baseras på vanliga konfigurationer för tillverkning.

Enhetstypen systemet bas

Kommentarer

IDE och ATA

  • Snurra på 7 200 RPM.

  • Inriktad på skrivbord och program för enskilda användare.

  • Diskcachen är aktiverat som standard. Använd 'diskegenskaper ”, fliken maskinvara till 'Egenskaper', 'Principen” fliken om du vill kontrollera inställningen för disk-cache.

    Obs! Vissa enheter följdes inte den här inställningen. Dessa enheter kräver ett verktyg för tillverkaren att inaktivera cache.

  • Diskcachelagring bör inaktiveras om du vill använda enheten med SQL Server.

  • IDE ATA-baserat system och skjuta upp värdkommandon när de utför verksamheter som inställningsanordningar felaktigt block. Detta kan leda till perioder av Avvisad i/o-aktivitet.

IDE/bärbar dator

  • Snurrar 5 200 RPM.

  • Inriktad på bärbara datorer.

  • Läsa andra kommentarer under IDE och ATA.

  • ReadyDrive och NOCH Flash lagring kan ge stabil i/o-funktioner.

SATA

  • Snurra på 7 200 RPM.

  • Inriktad på arbetsstationer och servrar för kategorin.

  • Diskcachen är aktiverat som standard. Använd 'diskegenskaper ”, fliken maskinvara till 'Egenskaper', 'Principen” fliken om du vill kontrollera inställningen för disk-cache.

    Obs! Vissa enheter följdes inte den här inställningen. Dessa enheter kräver ett verktyg för tillverkaren att inaktivera cache.

  • Lagringsplats för större kapacitet och större cachelagrar än IDE och ATA motverka delar.

  • Diskcachelagring bör inaktiveras om du vill använda enheten med SQL Server.

  • Mindre kablar och anslutningar.

  • Enkel sammankoppling med seriellt ansluten SCSI (SAS) enheter och installationer.

  • Bland annat felförutsägelse konstruktioner.

SCSI

  • Snurrar 10 000 och 15 000 RPM.

  • Utformad för servrar och nätverk.

  • Utformad för tyngre tull cykler och mindre fel.

  • Diskcachen är aktiverat som standard. Använd 'diskegenskaper ”, fliken maskinvara till 'Egenskaper', 'Principen” fliken om du vill kontrollera inställningen för disk-cache.

    Obs! Vissa enheter följdes inte den här inställningen. Dessa enheter kräver ett verktyg för tillverkaren att inaktivera cache.

  • Diskcachelagring bör inaktiveras om du vill använda enheten med SQL Server.

  • Matris- och SAN-system vanligtvis använder mindre kablar och sammankopplingar.

  • Inkludera felförutsägelse konstruktioner.

Seriellt ansluten SCSI (SAS) innehåller avancerade queuing upp till 256 nivåer. SAS innehåller även funktioner som kön och i ordning queuing. SAS-bakplan är utformat på ett sätt som möjliggör användning av både SAS- och SATA-enheter inom samma system. Fördelarna med SAS-design är uppenbara.

Installationen av SQL Server är beroende av den registeransvarige möjlighet att inaktivera cacheminnet på disken och ger en stabil i/o-cache. Skriva data i ordning till olika diskar är inte ett hinder för SQL Server som registeransvarige ger rätt stabil media cachelagring funktioner. Controller-design komplexitet ökar med avancerad säkerhetstekniker som spegling.


Att helt skydda dina data, bör du kontrollera att datacachelagring av alla hanteras korrekt. Detta innebär i många fall måste du inaktivera skrivcache på disken.

Obs! Se till att alla alternativa mekanismen för cachning korrekt kan hantera flera olika typer av fel.

Microsoft har utfört tester på flera SCSI- och IDE-enheter med hjälp av verktyget SQLIOSim. Det här verktyget simulerar aktiviteten tunga asynkron läsning/skrivning till en simulerad data enhet och enhet. Testa prestanda statistik visar de genomsnittliga skrivåtgärder per sekund mellan 50 och 70 för en enhet med inaktiverad skrivcache och en RPM intervallet mellan 5,200 och 7,200.

För ytterligare information och information om SQLIOSim finns i följande artikel i Microsoft Knowledge Base:

231619 hur du använder SQLIOSim för att simulera en SQL Server-aktivitet på ett diskundersystemMånga PC-varor (t ex Compaq, Dell, Gateway eller HP) för enheter med skrivcache inaktiveras. Men testa tester visar att detta inte alltid fallet så bör du alltid den helt.

Obs!  Om du har några frågor om statusen för cachelagring av enheten kontaktar du tillverkaren och skaffar rätt verktyg eller bygeln inställningar om du vill inaktivera cachelagring skrivåtgärder.

SQL Server kräver att system för att stödja leveransgaranti till stabila media som anges enligt Programmet krav för SQL Server i/o-tillförlitlighet. För mer information om kraven på indata- och utdatafilter för databasmotorn för SQL Server klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

967576 för Microsoft SQL Server-databas motor Input/Output krav

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×