Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

Riepilogo

Un sistema di database in primo luogo è responsabile dell'archiviazione accurata e il 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. Questo è spesso definito le proprietà ACID (atomicità, coerenza, isolamento e durata).

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 e alternare le discussioni in modalità di errore:

86903 di SQL Server e la memorizzazione nella cache di controller del disco

230785 la registrazione di SQL Server 7.0 e SQL Server 2000 e gli algoritmi di data storage estendono affidabilità dei dati

Sono inoltre consigliati i seguenti documenti:

Nota: Questi due documenti si applicano a tutte le versioni attualmente supportate di SQL Server.

Ulteriori informazioni

Microsoft SQL Server e molti database tradizionali prodotti sul mercato oggi utilizzano il protocollo Write-Ahead registrazione (WAL).

Protocollo di registrazione Write-Ahead (WAL)
Il termine "protocollo" è un modo eccellente per descrivere WAL. Si tratta di un oggetto specifico e insieme definito di operazioni di implementazione necessarie per assicurare che i dati memorizzati e scambiate in modo corretto e può essere ripristinato a uno stato conosciuto 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 proteggere i dati.Tutte le versioni di SQL Server aprire i file di registro e dati utilizzando la funzione CreateFile di Win32. 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 comunque possibile memorizzare nella cache le operazioni di scrittura, ma non in modalità differita flush.

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 di scrivere in anticipo la registrazione (WAL) per assicurare che i dati.Molte unità disco (SATA, ATA, SCSI e IDE basato) contengono cache integrate di 512 KB, 1 MB e più grande. Unità cache di solito si basano su un condensatore e non è una soluzione di batteria. Questi meccanismi di caching non garantisce scritture attraverso una potenza di ciclo o punto di errore simile. Essi garantiscono soltanto il completamento delle operazioni di scrittura del settore. Le unità continuano ad aumentare le dimensioni, le cache diventano più grandi e possono esporre grandi quantità di dati in caso di errore.


Avanzata dei 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 scheda memorizzazione nella cache per essere inserito in un secondo computer. Quando l'alimentazione viene ripristinata correttamente, i dati non scritta completamente viene svuotati prima di qualsiasi ulteriore accesso ai dati. Molti di essi consentono percentuale di lettura e scrittura cache da stabilire per prestazioni ottimali. Alcuni contengono aree di archiviazione di grandi quantità di memoria. Per un segmento specifico del mercato, infatti, alcuni fornitori di hardware forniscono high-end disco batteria sistemi con più gigabyte di cache di memorizzazione nella cache. Questi può migliorare significativamente le prestazioni del database.

I trasferimenti che vengono eseguiti senza l'utilizzo di una cache possono essere significativamente più causa velocità anche un disco rigido, il tempo meccanico necessario per spostare le testine di unità e altri fattori limitanti. Le 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 utilizzando varie ottimizzazioni del controller di memorizzazione nella cache di scrittura volte.

Esistono molti tipi di implementazioni di sottosistema. Sono due esempi di questi tipi di implementazioni di sottosistema RAID e SAN. Questi sono generalmente realizzati con unità basate su SCSI. Esistono diversi motivi. Nella sezione seguente genericamente considerazioni unità di livello elevato.

Unità SCSI:

  • In genere sono fabbricati per l'utilizzo di pesanti.

  • Sono destinate in genere implementazioni multiutente, basate su server.

  • In genere è meglio meantime a tassi di errore rispetto alle altre implementazioni.

  • Contengono sofisticate regole euristiche per poter prevedere errori imminenti.

Altre implementazioni di unità, come IDE ATA e SATA:

  • In genere sono fabbricati per l'utilizzo di dazio medio e chiaro.

  • Sono in genere destinate a singole applicazioni basate sull'utente.

  • Alcune implementazioni più recenti contengono sofisticate regole euristiche per poter prevedere errori imminenti.

Controller non SCSI, basate su desktop richiedono più larghezza di banda principale processore (CPU) e sono spesso limitate da un solo comando attivo. Ad esempio, quando un'unità non SCSI è la modifica di un blocco danneggiato, l'unità richiede che attende i comandi host. 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 altri servizi del comando in sospeso. Sistemi RAID basati su tecnologie desktop possono tutti questi sintomi ed essere influenzati notevolmente dal risponditore lento. Se questi sistemi utilizzano modelli avanzati, le prestazioni non saranno più efficienti le prestazioni dei sistemi basato su SCSI.

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

Le dimensioni delle unità continuano ad aumentare. Unità a basso costo e alta capacità può essere molto interessante. Ma quando si configura l'unità per le vostre esigenze tempo di risposta e di SQL Server, considerare con attenzione i seguenti problemi:

  • Progettazione di 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à del sistema di base

Commenti

IDE e ATA

  • Rotazione di 7200 giri/min.

  • Indirizzato al desktop e applicazioni di singolo utente.

  • Per impostazione predefinita, la cache del disco è attivata. Utilizzare le "disco", la scheda Hardware per accedere alle "proprietà", la scheda "Policy" per controllare l'impostazione della cache del disco.

    Nota: Alcune unità che non rispettano questa impostazione. Tali unità richiedono un'utilità di un produttore specifico per disattivare la cache.

  • La cache del disco deve essere disattivata per poter utilizzare l'unità con SQL Server.

  • Sistemi ATA e IDE posticipare comandi host quando eseguono attività come la regolazione del blocco danneggiato. Questo può causare periodi di attività dei / o bloccata.

IDE/Portable computer

  • Ruotate 5.200 giri al minuto.

  • Nei computer portatili.

  • Vedere altri commenti nella sezione IDE e ATA.

  • Archiviazione ReadyDrive e memoria Flash NAND può fornire funzionalità dei / o stabile.

SATA

  • Rotazione di 7200 giri/min.

  • Nei computer desktop e server intervallo medio.

  • Per impostazione predefinita, la cache del disco è attivata. Utilizzare le "disco", la scheda Hardware per accedere alle "proprietà", la scheda "Policy" per controllare l'impostazione della cache del disco.

    Nota: Alcune unità che non rispettano questa impostazione. Tali unità richiedono un'utilità di un produttore specifico per disattivare la cache.

  • Maggiore capacità di archiviazione maggiore e capacità memorizza nella cache di IDE ATA del contatore delle parti.

  • La cache del disco deve essere disattivata per poter utilizzare l'unità con SQL Server.

  • Dimensioni minori di cavi e interconnessioni.

  • Facile interconnessione con unità SAS Serial Attached SCSI () e installazioni.

  • Alcuni sono costrutti di probabilità di errore.

SCSI

  • Rotazione di 10.000 e 15.000 giri al minuto.

  • Progettato per applicazioni multiutente e server.

  • Progettato per cicli di dazio più pesanti e riduzione di guasti.

  • Per impostazione predefinita, la cache del disco è attivata. Utilizzare le "disco", la scheda Hardware per accedere alle "proprietà", la scheda "Policy" per controllare l'impostazione della cache del disco.

    Nota: Alcune unità che non rispettano questa impostazione. Tali unità richiedono un'utilità di un produttore specifico per disattivare la cache.

  • La cache del disco deve essere disattivata per poter utilizzare l'unità con SQL Server.

  • Sistemi di matrice e SAN in genere utilizzare cavi più piccoli e interconnessioni.

  • Includere i costrutti di probabilità di errore.

Serial Attached SCSI (SAS) include Accodamento avanzato fino a 256 livelli. SAS include inoltre funzionalità come testa di coda e Accodamento messaggi in un 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 disattivare la cache su disco e per offrire una cache dei / o stabile. Scrittura di dati in un ordine in vari dischi non è un ostacolo per SQL Server, purché il controller fornisce la funzionalità di memorizzazione supporto stabile corretto. Consente di aumentare la complessità della progettazione controller con tecniche di protezione avanzata dei dati quali il mirroring.


Per una protezione completa dei dati, è necessario assicurarsi che la cache di dati viene gestito correttamente. In molte situazioni, pertanto che è necessario disattivare la cache in scrittura del disco.

Nota Assicurarsi che qualsiasi meccanismo alternativo di memorizzazione nella cache consente di gestire correttamente 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 un dispositivo dati simulati e dispositivo di log. Le statistiche sulle prestazioni dei 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 RPM tra 5,200 e 7,200.

Per ulteriori informazioni e dettagli su SQLIOSim, vedere il seguente articolo della Microsoft Knowledge Base:

231619 come utilizzare l'utilità SQLIOSim per simulare l'attività di SQL Server in un sottosistema discoMolti produttori di PC (ad esempio, Compaq, Dell, Gateway o HP), le unità dell'ordine con la cache di scrittura disabilitata. Tuttavia, test mostra che non sempre è possibile il caso in modo sempre necessario eseguirne il test completamente.

Nota: Se hai domande sullo stato della cache dell'unità disco, contattare il produttore per ottenere le impostazioni appropriate di utilità o ponticello per disabilitare la memorizzazione nella cache.

SQL Server richiede sistemi per il supporto 'consegna garantita su un supporto stabile' come indicato come descritto in SQL Server i requisiti di affidabilità programma. Per ulteriori informazioni sui requisiti di input e outpui per il motore di database di SQL Server, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:

Requisiti di Microsoft SQL Server Database Engine Input/Output 967576

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×