Principali fattori da considerare quando si valutano i sistemi di cache del file di terze parti con SQL Server

Traduzione articoli Traduzione articoli
Identificativo articolo: 917043 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo vengono illustrate alcune i fattori chiave Ŕ necessario conoscere quando viene valutato un file di terze parti la memorizzazione nella cache sistema i clienti.

Implementazioni della cache file di terze parti migliorare le prestazioni dei database di Microsoft SQL Server quando viene implementato correttamente. Configurazioni di questi prodotti e le implementazioni specifiche, tuttavia, possono lasciare i database di SQL Server un ad alto rischio di perdita di dati. I clienti completamente necessario verificare la configurazione per assicurare l'integritÓ dei dati appropriati.

Le informazioni contenute nel presente documento, inclusi URL e altri riferimenti a siti Internet, sono soggette a modifiche senza preavviso. Se non specificato diversamente, aziende, organizzazioni, prodotti, nomi di dominio, indirizzi di posta elettronica, logo, persone, luoghi ed eventi utilizzati negli esempi sono puramente casuale. Nessuna associazione con qualsiasi societÓ, organizzazione, prodotto, nome di dominio, indirizzo di posta elettronica, logo, persona, luogo o evento Ŕ intenzionale o pu˛ essere presupposta. ConformitÓ tutte le applicabili leggi in materia di copyright Ŕ responsabilitÓ dell'utente. Senza limitare i diritti coperti da copyright, nessuna parte di questo documento pu˛ essere riprodotto, memorizzata in o introdotta in un sistema di recupero o trasmessa in qualsiasi forma o con qualsiasi mezzo (elettronico, meccanico, tramite fotocopie, registrazione o in caso contrario) o per qualsiasi scopo, senza il permesso scritto di Microsoft Corporation.

Microsoft pu˛ essere titolare di brevetti, domande di brevetto, marchi, copyright o altri diritti di proprietÓ intellettuale relativi all'oggetto in questo documento. Salvo quanto espressamente previsto in un contratto scritto di licenza da Microsoft, di fornire di questo documento non concessione Ŕ alcuna licenza su tali brevetti, marchi, copyright o altra proprietÓ intellettuale.

ę 2006 Microsoft Corporation. Tutti i diritti riservati.

Microsoft, Windows, Windows Server e SQL Server sono marchi registrati o marchi di Microsoft Corporation negli Stati Uniti e/o negli altri paesi.

In questo articolo scritto espressamente per SQL Server ma in genere si applica ai database di Jet, utilizzati da nonchÚ prodotti server di Exchange e Active Directory.

Informazioni

In questa sezione vengono descritti i requisiti e vengono forniti esempi di dettagliate che devono essere trattati completamente con un fornitore di terze parti prima di distribuire qualsiasi soluzione di. I clienti devono inoltre eseguire particolare attenzione per verificare vari scenari di ripristino per verificare l'integritÓ dei dati Ŕ gestita correttamente.

Requisiti di input/output (I/O) di SQL Server

Qualsiasi file di backup di database o di SQL Server richiede principi fondamentali di archiviazione che supportano il protocollo di registrazione in avanti di scrittura (WAL). Queste nozioni di base vengono descritti nei seguenti articoli:
Nozioni fondamentali di I/O di SQL Server 2000
http://technet.microsoft.com/en-us/library/cc966500.aspx
Nota L'articolo si applica anche a SQL Server 2005.
230785La registrazione di SQL Server 7.0, SQL Server 2000 e SQL Server 2005 e gli algoritmi di archiviazione di dati consente di estendere l'affidabilitÓ dei dati
Di seguito Ŕ un elenco di alcuni importanti requisiti:
  • Ordine di scrittura devono essere mantenuti.
  • Necessario mantenere la coerenza di scrittura di dipendenti.
  • Scrive sempre devono essere protetti in oppure un supporto stabile.
  • Deve essere la prevenzione di I/O incompleta.

Certificazioni prodotto partner non sono una garanzia di compatibilitÓ o di protezione

Un prodotto di terze parti o un fornitore specifico pu˛ ricevere una certificazione del logo di Microsoft. Tuttavia, certificazione di partner o un logo di Microsoft specifico non certificare compatibilitÓ o di adeguatezza per uno scopo specifico per SQL Server, server o Active Directory.

FILE_FLAG_WRITETHROUGH e FILE_FLAG_NO_BUFFERING

Prodotti di database di Microsoft in modo specifico utilizzato scrittura tramite e nessun flag buffer all'apertura dei file di database per evitare la perdita di dati. Qualsiasi richiesta di scrittura di questi file deve essere protetti su un supporto stabile. In caso contrario, pu˛ verificarsi una perdita di dati. Di seguito sono elencati esempi specifici che possono esporre file cache di sistema:
  • scrivere combinazione e il riordino di scrittura
    Per ridurre le richieste di I/O fisiche, le cache di base non di batteria spesso combinano e riordino le operazioni di scrittura, interrompere immediatamente i requisiti di protocollo WAL.
  • dimensione di blocco di I/o
    Simile alla scrittura di combinazione e riordino sono dimensione del blocco I/o. Le cache tenterÓ di completamento I/o basato sulla dimensione blocco percorso I/O. Anche in questo caso, questo pu˛ fornire un incremento delle prestazioni ma apre backup del database di danneggiare e interrompe immediatamente i requisiti di protocollo WAL.

Punti Talking ed esempi

La sezione seguente fornisce esempi di chiavi e i punti talking riguardanti l'integritÓ dei dati e protezione. Utilizza alimentazione come punto comune di errore e la chiarezza, ma spesso pu˛ essere sostituito ad vari altri problemi, causando problemi di integritÓ del database simile.

Esempio 1: Perdita di dati e danneggiamento fisico o logico

Si consideri lo scenario seguente:
  1. Un record del log Ŕ destinato a pagina 100 nel database.
  2. Un record del log viene mantenuto nella cache non basati su batterie, ma il motore di database Ŕ detto che la scrittura del log Ŕ completo "protetto per stabile il supporto".
  3. Il motore di database considera il numero LSN rafforzato e problemi di scrittura per la pagina 100.
  4. Pagina 100 inoltre viene mantenuto nella cache di base non di batteria.
  5. Commit della transazione viene completata senza errori.
Il motore di database continua l'elaborazione come se salvate correttamente le scritture di supporto stabile. Un'interruzione dell'alimentazione a questo punto, tuttavia, verrÓ causare perdita di dati immediata perchÚ le modifiche non fisicamente presenti di fuori della cache di backup non di batteria. Ripristino di arresto anomalo del sistema non indica un errore perchÚ ripristino arresto anomalo del sistema non conosce sul record di registro persi e non tenterÓ di ripristinare il lavoro. Ampliare i vari tipi di danni di database che possono verificarsi pi¨ scenari di modifica di oggetto (chiave primaria, ad esempio, inserimenti di chiavi esterni).

Esistono diversi problemi potrebbero verificarsi con piccole modifiche a modalitÓ di gestione I/o la cache. Una derivazione breve presuppone che il rollback della transazione Ŕ stata, ma pagina 100 ha fisico di supporto. Ripristino di arresto anomalo del sistema nuovamente non conosce sul record di log (non eseguito per stabile supporti), in tal caso verrÓ 100 pagine non ricevere le operazioni di annullamento durante il recupero dell'arresto anomalo del sistema, lasciando il database dal punto di vista logico e probabilmente fisicamente danneggiato.

Esempio 2: Database sospetto

Alcuni produttori consentono di "opz dai file di" e spesso consigliabile lasciare il file di registro (ldf per SQL Server) di database scelto dalla cache del. Il criterio "opz" Ŕ che l'amministratore disponga in modo specifico contrassegnare i file verrÓ ignorato dal software di memorizzazione nella cache. In caso contrario, il file Ŕ incluso automaticamente.

Questa Ŕ un presupposto scarsa, evidenziare gli esempi riportati di seguito. Si consiglia di essere scelto tutti i database e i file di backup di tali una cache.
  1. Il file di registro viene scelto, in modo che si ottengono scrive su un supporto stabile.
  2. 100 Di pagina viene modificato.
  3. Il motore di database viene eseguito un'operazione checkpoint.
  4. Il modulo di gestione Ŕ detto tutte le pagine di database e i record del log sono protetti (punto nel tempo up to checkpoint considerati protetti). Tuttavia, le pagine di dati non sono tutti memorizzati in o in un supporto stabile.
  5. Il database di SQL Server Ŕ in modalitÓ di ripristino "SIMPLE", in modo checkpoint tronca ora i record del log.
  6. 100 Di pagina che era il solo controllo a cui fa riferimento viene modificata nuovamente.
Questa situazione Ŕ esposto il database per perdita di dati e determina generalmente in un database sospetto. Anche in questo caso, un'interruzione dell'alimentazione non ha luogo, ripristino di arresto anomalo del sistema ha nessun record del registro perchÚ non esistono pi¨ a causa di troncamento. Il motore di database non contiene informazioni che indica che le pagine di database mancano i dati che devono essere protetti durante il checkpoint. Ripristino di arresto anomalo del sistema tenta di analizzare la seconda modifica nella pagina 100 ma non riesce perchÚ pagina 100 Ŕ non stato correttamente protetto su un supporto stabile al momento del checkpoint.

Ripristino arresto anomalo del sistema utilizza il valore di numero LSN memorizzato nell'intestazione della pagina per determinare le esigenze di ripristino.
  • Se il numero LSN della pagina Ŕ uguale a o versione successiva a quella del record del log, ripristino non nessun ulteriore lavoro nella pagina perchÚ la pagina Ŕ giÓ coerente con il record del log basato sul confronto LSN.
  • Se il numero LSN della pagina Ŕ precedente a quella del record del log, ripristino Ŕ necessario eseguire le operazioni appropriate per restituire la pagina allo stato corretto. Ripristino ha esito negativo se ripristino Ŕ di una condizione dei dati mancanti rilevati e lo stato di legittimo correttamente non pu˛ restituire la pagina.
Dall'esempio, il numero LSN precedente memorizzati in record del log per la seconda richiesta della pagina 100 di modifica non Ŕ presente nell'intestazione della pagina, e nessun record di registro precedenti presente per ripristinare la pagina. Di conseguenza, il database Ŕ contrassegnato come sospetto, come il ripristino non pu˛ continuare.

Esempio 3: Backup non sono validi - interruzione automatica sequenza di backup

Esempio 2 Ŕ solo una frazione di questi tipi di problemi che possono essere verificati. Per questo esempio, anzichÚ la modalitÓ di ripristino "Di" fateci inserire il database in modalitÓ "FULL RECOVERY" ma eseguire backup regolari del registro e database. Inizialmente, sembra che questa operazione Ŕ migliore in quanto si dispone di una catena di log intatto e solo l'esecuzione di una sequenza di ripristino per risolvere il problema.

Questo potrebbe non essere un presupposto valido, alcune implementazioni della cache utilizza il criterio "opz" in modo che il file di backup o la parte possono essere memorizzati in modo imprevisto cache. Quando SQL Server Svuota il file di backup, SQL Server richiede che tutte le scritture sul supporto di backup vengono memorizzate correttamente in caso di arresto in supporto stabile utilizzando la funzione API Win32 FlushFileBuffers o. Pertanto, se il fornitore della cache non garantisce che correttamente vengono scaricate tutte le scritture, durante la chiamata di funzione FlushFileBuffers per stabile il supporto prima che il completamento corretto dell'operazione, il database motore possibile troncare il log senza un backup protetto. Anche in questo caso, un'interruzione dell'alimentazione a questo punto comporta una condizione in cui i record di log consente di non sono disponibili e di possono causare il ripristino di arresto anomalo del sistema per avere esito negativo. La cosa pi¨ importante Ŕ che ripristino di arresto anomalo del sistema potrebbe non essere in grado di rilevare questo dei causa mancante record di registro nel database e la catena di backup potrebbe essere danneggiata in modo invisibile all'utente. Solo quando un ripristino del backup viene tentato il motore di database potranno indicare che il backup Ŕ stato danneggiato.

Esempio 4: Gli stati database non valido

I file di database contengono le dipendenze tra loro necessitÓ strict write-through e ordinamento di conformitÓ per applicare a tutti come un gruppo. Punto di arresto, le modifiche della dimensione file, i backup differenziali, operazioni non registrate e il modello di recupero registrazione di massa sono tra pochi delle attivitÓ del database di chiavi che richiedono la scrittura in file di dati, rendendo i criteri come selezionare solo il file di log un presupposto non valido.

Esempio 5: Perdita di dati database snapshot: potrebbe essere invisibile all'utente

SQL Server 2005 introduce snapshot database per il punto in fase di query. Questo utilizza tecnologia di database copy-on-write per consentire proteggere una copia di una pagina di dati nel database di dati di snapshot prima di effettuata una modifica di nuova alla pagina dati nel database di base. Questo processo richiede che la pagina di essere protetto nel database snapshot prima di proseguire la transazione. Se la pagina non Ŕ protetto in un supporto stabile o, i problemi di integritÓ dei dati verranno mantenute. Il database snapshot non contiene un log delle transazioni Ŕ fondamentale la scrittura della pagina. Se si Ŕ simile a un'interruzione dell'alimentazione verificato, Ŕ possibile che la pagina principale del database Ŕ stata modificata, ma lo snapshot non riflette l'immagine precedente poichÚ la scrittura nella cache Ŕ stato persa.

Come configurare

Procedura per configurare un prodotto fornendo il cache file da un elemento come cache backup-batteria non Ŕ specifico per l'implementazione del fornitore. ╚ possibile applicare alcune regole, per˛:
  • Tutte le scritture devono essere completate in oppure un supporto stabile prima la cache indica al sistema operativo, che le operazioni di I/O Ŕ completata.
  • Possono essere memorizzati nella cache i dati, purchÚ una richiesta di lettura gestita dalla cache di restituisce la stessa immagine come in o su supporto stabile.
Queste regole significa essenzialmente che la cache di backup non di batteria potrebbe essere efficace per le operazioni di lettura ma che non deve essere utilizzata per le richieste di scrittura. Con la corretta configurazione, questo pu˛ fornire un miglioramento delle prestazioni per il modulo di gestione di database. Questo deve, tuttavia, da testare con attenzione, poichÚ l'impostazione riservare qualcosa come RAM che potrebbero essere utilizzate da SQL Server pu˛ ridurre le prestazioni complessive. SQL Server potrebbe essere possibile utilizzare la memoria aggiuntiva con maggior precisione rispetto un meccanismo di cache generico.

Database di sola lettura

Database di sola lettura possono essere un buon esempio in cui excel questi tipi di prodotti. Se il database Ŕ stato prima creato e archiviato in o nei supporti stabili per assicurare l'integritÓ dei dati, l'istruzione ALTER DATABASE utilizzato per contrassegnare il database READ ONLY e il database successivamente assegnato il meccanismo di memorizzazione nella cache, potrebbe verificarsi miglioramento delle prestazioni. Alcune implementazioni di mantenere immagini delle pagine di database in formato compresso nella cache, consentendo di fisici pi¨ dati da recuperare dalla cache e riducendo i/O fisico.

attenzione Il database non dovrÓ essere eseguito READ WRITE quando assegnato a una cache che non costante il protocollo WAL rispetto comportamento.

Protezione

Introduzione a una cache, ad esempio nella cache di sistema del file di basati su RAM, Ŕ stata introdotta un'altra posizione di "in memoria" per i dati. Prodotti, ad esempio un motore di database potrebbero presuppone dati critici sono stati archiviati in o su supporti stabili e mantengono correttamente le protezioni di accesso controllo elenco (ACL, Access Control List). La cache basati su RAM potrebbe esporre i dati da una serie di problemi di protezione sono univoci confrontato con supporto stabile. Ad esempio, se l'applicazione Ŕ progettata per utilizzare simile per la funzione SecureZeroMemory ogni volta che ha terminato di utilizzare informazioni critiche, l'applicazione dispone di una previsione che i dati non esiste pi¨ nella RAM. Tuttavia, se un formato dei dati pu˛ rimanere memorizzato nella cache quando l'applicazione Ŕ previsto che sia in oppure un supporto stabile, Impossibile modificare le considerazioni sulla protezione.

Controlli di integritÓ dei dati

Microsoft consiglia sempre di una strategia di integritÓ dei dati di forte e chiaro. Tale deve includere, ma non Ŕ limitato a, del ripristino di backup e regolare le operazioni di DBCC CHECKDB su database ripristinato e della produzione.

Si consiglia inoltre di aumentare la frequenza di questi test di protezione durante la valutazione e l'implementazione le modifiche da apportare all'ambiente o se i problemi si verificano riguardanti la stabilitÓ dell'ambiente di.

Per ulteriori informazioni su come utilizzare il SQLIOStress utilitÓ, fare clic sul seguente numero per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:
231619Come utilizzare l'utilitÓ SQLIOStress per sottolineare un sottosistema di disco, ad esempio SQL Server

Il database TEMPDB

╚ possibile individuare il database TEMPDB su alcuni sistemi di memorizzazione nella cache. Diversi fattori devono essere considerati con attenzione e testati durante la valutazione il percorso di archiviazione del database TEMPDB in questa configurazione. Il seguente articolo vengono illustrati i requisiti di I/O, di i limiti di supporto associati e di un miglioramento delle prestazioni possibili.
917047Requisiti del sottosistema di I/O di Microsoft SQL Server per il database TEMPDB

Supporto

Supporto di Microsoft SQL Server Ŕ d'aiuto clienti, utilizzando tecniche di ripristino di dati standard. Se prodotti installati sul computer disegno l'integritÓ dei dati nella domanda, Microsoft SQL Server, Active Directory e il supporto di Exchange potrebbe richiedere che il prodotto essere disinstallato e verrÓ non partecipa analisi delle cause principali solo in tale fase pu˛ essere riprodotto il problema senza detto prodotto.

Microsoft non certifica o convalida che prodotti di terze parti funzionino correttamente con SQL Server. Inoltre, Microsoft non fornisce alcuna garanzia, garanzia o istruzione di idoneitÓ del prodotto di terze qualsiasi per l'utilizzo con SQL Server.

Riferimenti

Valutare attentamente le informazioni di aggiuntive fornite dai seguenti riferimenti per valutare il miglioramento delle prestazioni di SQL Server:

826433Aggiunta a rilevare problemi di I/O ulteriori diagnostica di SQL Server
828339Messaggio di errore 823 possibile problemi hardware oppure problemi del sistema in SQL Server
234656Utilizzando la cache del disco con SQL Server
110352Ottimizzazione delle prestazioni di Microsoft SQL Server
304261Descrizione del supporto per i file di database di rete in SQL Server
910716Supporto per le soluzioni mirroring remoto di terze parti utilizzato con SQL Server 2000 e 2005 utente database
913945Microsoft certificare non funzionamento di prodotti di terze parti con Microsoft SQL Server
SQL Server richiede i sistemi supportano ? garantire il recapito al supporto stabile ? come descritto nel programma di Microsoft SQL Server Always-On archiviazione soluzioni revisione. FOPer ulteriori informazioni sui requisiti di input e outpui per il motore di database di SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
967576Requisiti di Microsoft SQL Server Database Engine input/output

ProprietÓ

Identificativo articolo: 917043 - Ultima modifica: venerdý 2 novembre 2007 - Revisione: 1.5
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
Chiavi:á
kbmt kbexpertiseadvanced kbinfo KB917043 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 917043
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com