Informazioni sull'utilizzo di cache del disco con SQL Server che è necessario conoscere ogni amministratore del database

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 234656
Sommario
Un sistema di database è la prima responsabile dell'archiviazione accurati e recupero dei dati, anche in caso di errori imprevisti del sistema.

Il sistema deve garantire l'atomicità e durevolezza delle transazioni, tenendo conto di esecuzione corrente, più transazioni e vari punti di errore. Ciò viene spesso definita per le proprietà ACID (atomicità, coerenza, isolamento e durabilità).

Questo articolo riguarda le implicazioni di un'unità disco memorizza nella cache. Si consiglia di leggere i seguenti articoli della Microsoft Knowledge Base per ulteriori chiarimenti sulla memorizzazione nella cache e si alternano le discussioni di modalità di errore:
86903 SQL Server e la memorizzazione nella cache del controller del disco
230785 Registrazione di SQL Server 7.0 e SQL Server 2000 e gli algoritmi di data storage estendono l'affidabilità dei dati
Sono inoltre consigliati i seguenti documenti: Nota Tali documenti si applicano a tutte le versioni attualmente supportate di SQL Server.
Informazioni
Microsoft SQL Serverand molti database tradizionali prodotti sul mercato attualmente utilizzano il protocollo Write-Ahead registrazione (WAL).
Protocollo di registrazione Write-Ahead (WAL)
Il protocollo di termine è un modo eccellente per descrivere WAL. È un oggetto specifico e dei passaggi di implementazione necessari per assicurare che i dati stabiliti archiviato e scambiati in modo corretto e possono essere recuperate in uno stato noto in caso di errore. Proprio come una rete contiene un protocollo definito per lo scambio di dati in modo coerenza e protetto in modo troppo il WAL descrivere il protocollo per la protezione dei dati.
Tutte le versioni di SQL Server aprire i file di registro e dati utilizzando la funzione Win32 CreateFile . Il membro dwFlagsAndAttributes include l'opzione FILE_FLAG_WRITE_THROUGH quando vengono aperti da SQL Server.
FILE_FLAG_WRITE_THROUGH
Questa opzione indica al sistema di scrivere le cache intermedie e accedere direttamente al disco. Il sistema può memorizzare nella cache ancora le operazioni di scrittura, ma in modalità differita non può cancellare.

L'opzione FILE_FLAG_WRITE_THROUGH garantisce che scrittura operazione restituisce esito positivo che i dati vengono memorizzati correttamente nell'archiviazione stabile. Ciò è in linea con le specifiche del protocollo Write Ahead registrazione (WAL) per assicurare che i dati.
Molte unità disco (SATA, ATA, SCSI e IDE basato) contengono onboard cache di 512 KB, 1 MB e più grande. Cache del disco di solito si basano su un condensatore e non è una soluzione di batteria. Questi meccanismi di caching non garantisce il ciclo di operazioni di scrittura in un risparmio di energia o punto di errore simile. Essi garantiscono soltanto il completamento delle operazioni di scrittura del settore. Come le unità continuano a crescere in dimensioni, le cache diventano più grandi e possono esporre grandi quantità di dati in caso di errore.

Avanzati sistemi di controller di memorizzazione nella cache disabilitare la cache su disco e forniscono una funzionalità batteria soluzione di memorizzazione nella cache. Queste cache possono mantenere i dati nella cache per diversi giorni e può persino consentire la scheda di memorizzazione nella cache essere inserito in un secondo computer. Quando l'alimentazione viene ripristinata correttamente, i dati non scritta completamente viene svuotati prima di qualsiasi ulteriore accesso dati è consentito. Molti di essi consentono di percentuale di lettura e la cache in scrittura da stabilire per prestazioni ottimali. Alcuni contengono aree di archiviazione di grandi quantità di memoria. Infatti, per un segmento specifico del mercato, alcuni fornitori di hardware forniscono high-end disco batteria sistemi con più gigabyte di cache di memorizzazione nella cache. Questi possono migliorare significativamente le prestazioni del database.

Trasferimenti dei / o vengono eseguiti senza l'utilizzo di una cache possono essere significativamente più lunghi a causa di tassi di rotazione del disco rigido, il tempo meccanico per spostare le testine del disco e altri fattori limitanti è necessari. Installazioni di SQL Server sono destinate a sistemi che forniscono i controller di memorizzazione nella cache. Questi controller di disabilitare la cache su disco e forniscono supporto stabile memorizza nella cache per soddisfare i requisiti dei / o di SQL Server. Essi evitare problemi di prestazioni relativi al disco seek e scrivere volte utilizzando varie ottimizzazioni del controller di memorizzazione nella cache.

Esistono molti tipi di implementazioni di sottosistema. RAID e SAN sono due esempi di questi tipi di implementazioni di sottosistema. Questi sono generalmente realizzati con le unità SCSI. Esistono diversi motivi per questo. Nella sezione seguente vengono descritte genericamente considerazioni di unità di livello elevato.

Unità SCSI:
  • In genere sono fabbricati per l'impiego di pesanti.
  • In genere sono destinate a server multiutente,-basedimplementations.
  • In genere sono migliori meantime ai tassi di errore di otherimplementations.
  • Contengono sofisticate regole euristiche per poter prevedere imminentfailures.
Altre implementazioni di unità, ad esempio IDE e ATA, SATA:
  • In genere sono fabbricati per dutyuse di luce e medie dimensioni.
  • In genere sono destinate a utente singolo-basedapplications.
  • Alcune implementazioni più recenti contengono sofisticate heuristicsto Guida prevedere errori imminenti.
Controller SCSI non basato su desktop richiedono più larghezza di banda principale processore (CPU) e spesso sono limitate da un solo comando attivo. Ad esempio, quando un'unità SCSI non è la modifica di un blocco danneggiato, l'unità richiede che i comandi di host di attesa. Il bus ATA presenta un altro esempio. Il bus ATA supporta 2 periferiche, ma solo un singolo comando può essere attivo. In questo modo, un'unità inattivo mentre l'unità di altre servizi del comando in sospeso. Sistemi RAID basati su tecnologie desktop possono verificarsi tutti questi sintomi ed essere influenzati notevolmente dal risponditore più lento. A meno che questi sistemi utilizzano la realizzazione di disegni complessi, le prestazioni non è efficiente quanto le prestazioni dei sistemi basati su SCSI.

Esistono situazioni in cui una matrice o l'unità su desktop è una soluzione a basso costo appropriata. Ad esempio, se si imposta un database di sola lettura per il reporting, non si verificherà molti dei fattori delle prestazioni di un database OLTP quando la cache del disco è disabilitata.

Dimensioni delle unità continuano ad aumentare. Unità a basso costo e alta capacità può essere molto interessante. Ma quando si configura l'unità per SQL Server e le vostre esigenze tempo di risposta, è necessario considerare i seguenti problemi:
  • Progettazione del percorso di accesso
  • La necessità di disattivare la cache su disco
Nella tabella seguente fornisce commenti di livello elevati. Le informazioni di commento si basano su configurazioni comuni di fabbricazione.

Tipo di unità base del sistemaCommenti
IDE e ATA
  • La rotazione a 7.200 giri/min.
  • Destinato ai computer desktop e userapplications unico.
  • Per impostazione predefinita, la cache del disco è attivata. Utilizzare il 'DiskProperties', sulla scheda Hardware per accedere alle "Proprietà", scheda "Policy" per l'impostazione della cache su disco di controllo.

    Nota Alcune unità che non rispettano questa impostazione. Queste unità richiedono utilità del produttore specifico per disattivare la cache.
  • Per utilizzare thedrive con SQL Server è consigliabile disattivare la cache del disco.
  • Sistemi basati su ATA e IDE possono posticipare commandswhen host eseguono attività quali la regolazione del blocco danneggiato. Questo può causare toperiods di attività dei / o bloccata.
IDE/Portable computer
  • La rotazione a 5.200 giri al minuto.
  • Destinata ai computer portatili.
  • Vedere altri commenti nella sezione IDE e ATA.
  • Archiviazione ReadyDrive e memoria Flash NAND può fornire funzionalità stableI /o.
SATA
  • La rotazione a 7.200 giri/min.
  • Destinato ai computer desktop e rangeservers di medie dimensioni.
  • Per impostazione predefinita, la cache del disco è attivata. Utilizzare il 'DiskProperties', sulla scheda Hardware per accedere alle "Proprietà", scheda "Policy" per l'impostazione della cache su disco di controllo.

    Nota Alcune unità che non rispettano questa impostazione. Queste unità richiedono utilità del produttore specifico per disattivare la cache.
  • Maggiore capacità di archiviazione maggiore e capacità memorizza nella cache di parti di contatore IDEand ATA.
  • Per utilizzare thedrive con SQL Server è consigliabile disattivare la cache del disco.
  • Dimensioni minori di cavi e interconnessioni.
  • Facile interconnessione con unità SAS Serial Attached SCSI () e installazioni.
  • Alcuni sono predictionconstructs di errore.
SCSI
  • La rotazione a 10.000 e 15.000 RPM.
  • Progettato per i server e multiuserapplications.
  • Progettato per il ciclo di lavoro più pesante e tassi di decreasedfailure.
  • Per impostazione predefinita, la cache del disco è attivata. Utilizzare il 'DiskProperties', sulla scheda Hardware per accedere alle "Proprietà", scheda "Policy" per l'impostazione della cache su disco di controllo.

    Nota Alcune unità che non rispettano questa impostazione. Queste unità richiedono utilità del produttore specifico per disattivare la cache.
  • Per utilizzare thedrive con SQL Server è consigliabile disattivare la cache del disco.
  • Sistemi di matrice e SAN in genere utilizzare più piccoli cablingand interconnessioni.
  • Includere costrutti di probabilità di errore.
Serial Attached SCSI (SAS) include funzionalità di accodamento avanzato fino a 256 livelli. SAS include inoltre funzionalità come testa di coda e Accodamento messaggi in ordine. Il backplane SAS è progettato in modo che consente l'utilizzo di SAS e SATA unità all'interno del sistema stesso. I vantaggi della progettazione SAS sono evidenti.

L'installazione di SQL Server dipende dalla capacità del controller per disabilitare la cache su disco e per offrire una cache dei / o stabile. Scrittura di dati in ordine ai vari dischi non è un ostacolo a SQL Server fino a quando il controller fornisce la funzionalità di memorizzazione supporto stabile corretto. La complessità della progettazione controller aumenta con tecniche di protezione avanzata dei dati, ad esempio il mirroring.

Per proteggere completamente i dati, è necessario assicurarsi che tutte le cache di dati viene gestito correttamente. In molte situazioni, ciò significa che è necessario disattivare la cache in scrittura del disco.

Nota Assicurarsi che qualsiasi meccanismo di memorizzazione nella cache alternativo correttamente è in grado di gestire più tipi di errore.

Microsoft ha eseguito test su più unità SCSI e IDE utilizzando l'utilità SQLIOSim. Questa utilità simula l'attività di lettura/scrittura asincrona pesante per una periferica dati simulati e registro. Le statistiche sulle prestazioni test mostrano le operazioni di scrittura media al secondo tra 50 e 70 per un'unità con la cache di scrittura disattivato e un intervallo di giri/min tra 5,200 e 7,200.

Per ulteriori informazioni e dettagli sulle SQLIOSim, vedere il seguente articolo della Microsoft Knowledge Base:
231619Come utilizzare l'utilità SQLIOSim per simulare l'attività di SQL Server in un sottosistema disco
Molti produttori di PC (ad esempio, Compaq, Dell, Gateway o HP) ordinare le unità con la cache in scrittura disabilitata. Tuttavia, test mostra che può non sempre essere il caso devesempre testarlo completamente.

Nota Se hai domande sullo stato di memorizzazione nella cache dell'unità disco, contattare il produttore e ottenere le impostazioni appropriate di utilità o ponticello per disattivare le operazioni di memorizzazione nella cache di scrittura.
Riferimenti
Per informazioni dettagliate sui requisiti dei / o di SQL Server, visitare il seguente sito Web Microsoft: http://www.microsoft.com/SQL/AlwaysOn/Overview.mspx
SQL Server richiede sistemi per il supporto di recapito per stabile il supporto garantitocome descritto in base al programma di Microsoft SQL Server Always-On archiviazione soluzione revisione. Per ulteriori informazioni sui requisiti di input e outpui per il motore di database di SQL Server, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:
967576 Requisiti di Input/Output di Microsoft SQL Server Database Engine
cache cache cacheing

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 234656 - Ultima revisione: 05/01/2015 12:54:00 - Revisione: 1.0

Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard

  • kbinfo kbmt KB234656 KbMtit
Feedback