Come determinare le impostazioni di configurazione appropriate di SQL Server

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

In questa pagina

Sommario

Questo articolo vengono descritte le seguenti impostazioni di configurazione e considerazioni per il loro utilizzo:
  • Maschera di affinitÓ
  • Lightweight pooling
  • Max Async IO
  • Max worker threads
  • Memoria
  • Incremento di prioritÓ
  • Impostare dimensioni working set
SQL Server pu˛ ottenere un livello molto elevato di prestazioni con relativamente interventi di configurazione ottimizzazione. ╚ possibile ottenere livelli elevati di prestazioni utilizzando una buona applicazione e Progettazione database e non tramite configurazione estesa di ottimizzazione. Vedere la sezione "Riferimenti" di questo articolo per informazioni su come risolvere i problemi relativi a vari problemi di prestazioni di SQL Server.

Quando si indirizza un problema di prestazioni, il grado di miglioramento che Ŕ disponibile dalla configurazione di ottimizzazione Ŕ in genere modesto, a meno che non si dispone attualmente di sistema configurato correttamente. In SQL Server versione 7.0 e versioni successive, SQL Server utilizza la configurazione automatica di ottimizzazione ed Ŕ estremamente raro che le impostazioni di configurazione (specialmente le impostazioni avanzate) necessario eventuali modifiche. In genere, non si effettua una configurazione di SQL Server modificare senza motivo enorme e non senza metodico test accurati per verificare la necessitÓ per la modifica di configurazione. ╚ necessario stabilire una linea di base prima di modificare la configurazione in modo che Ŕ possibile misurare il vantaggio dopo la modifica.

Se non si dispone di SQL Server Ŕ configurato correttamente, alcune impostazioni potrebbero de-stabilize il server o potrebbero rendere SQL Server hanno un comportamento non funziona correttamente. Anni di esperienza di supporto con molti ambienti diversi indicano che le impostazioni di configurazione non predefinita potrebbero avere risultati tale intervallo Ŕ compreso tra non associata ad alcun paese e altamente negativo.

Se si effettua una configurazione di modifica, Ŕ necessario eseguire prestazioni metodico rigorose test prima e dopo la modifica al fine di valutare il grado di miglioramento.

In base a diversi scenari di supporto effettivi, SQL Server versione 7.0 e versioni successive consente di ottenere un livello di prestazioni estremamente elevato senza alcuna configurazione manuale di ottimizzazione.

In SQL Server versione 7.0 e versioni successive, non apportare modifiche alla configurazione per le connessioni utente, blocchi e aprire gli oggetti perchÚ Ottimizza saranno molto in base all'impostazione predefinita, SQL Server in modo dinamico limitati queste impostazioni.

Maschera di affinitÓ

L'impostazione di affinity mask fa riferimento a come saldamente un thread Ŕ associato a una particolare CPU. Per impostazione predefinita, Microsoft Windows NT e Microsoft Windows 2000, utilizzare l'affinitÓ "soft" che tenta di Riprogramma un thread sulla CPU in cui esso ultima esecuzione. Tuttavia, se non Ŕ possibile, un thread potrebbe essere eseguito su una diversa CPU.

In pratica, se si modifica l'impostazione di affinity mask rispetto all'impostazione predefinita Ŕ solo raramente aiuta le prestazioni e frequente peggioreranno delle prestazioni.

Affinity mask consente di limitare SQL Server a un sottoinsieme di CPU disponibili e consente ad altri concorrenti servizi migliori di CPU accedere. Nella maggior parte dei casi, non Ŕ necessario questo perchÚ SQL Server viene eseguito con prioritÓ normale. L'utilitÓ di pianificazione di thread di Windows NT o Windows 2000 modifica dinamicamente le prioritÓ dei thread di tutti i thread concorrenti per assicurarsi che abbiano una notevole possibilitÓ CPU affatto disponibili.

Non regolare affinity mask, ad eccezione in condizioni molto insolite. Se si sceglie di modificare affinity mask, eseguire metodico test rigorosi prima e dopo la modifica per verificare la necessitÓ di e in grado di miglioramento.

Lightweight pooling

Per impostazione predefinita, SQL Server utilizza un thread per ogni SPID attivo o processo utente. Tali thread lavorano in una configurazione comune al fine di mantenere gestibile il numero dei thread. La configurazione avanzata opzione "lightweight pooling" (che viene talvolta definito come "ModalitÓ fiber") utilizza il supporto "Fiber" di Windows NT essenzialmente gestire diversi contesti di esecuzione con un singolo thread.

Basate sull'esperienza di produzione effettivo, non Ŕ necessario utilizzare fiber modalitÓ tranne in casi molto rari. Lightweight pooling Ŕ potenzialmente anche utile solo se vengono soddisfatte tutte le condizioni seguenti. ╚ necessario determinare se Ŕ effettivamente utile tramite test accurati controllato.
  • Server multiprocessore di grandi dimensioni sono in uso.
  • Tutti i server eseguono uguale o vicino a capacitÓ massima.
  • Una grande quantitÓ di variazioni di contesto si verifica (superiore a 20.000 al secondo).
Per eseguire la ricerca di commutazione di contesto, utilizzare Performance Monitor, selezionare i thread del contatore, selezionare l'oggetto parametri di contesto/sec ", quindi selezionare per acquisire tutte le istanze di SQL Server. Se si esegue il server in modalitÓ fiber, SQL Mail in SQL Server 2000 o in SQL Server 2005 non Ŕ supportata. SQL Mail non Ŕ supportato in SQL Server 2000 a 64 bit. Per ulteriori informazioni, vedere l'argomento "Differenze tra versioni a 64 bit e a 32 bit" nella documentazione in linea di SQL Server 2000 (64-bit Edition). Per ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
308604PRB: SQLMail non Ŕ supportato quando si esegue il server in modalitÓ fiber
303120FIX: Errore ConnectionWrite quando si utilizza lightweight pooling

Max Async IO

SQL Server 7.0: l'impostazione di configurazione max async IO Ŕ disponibile in SQL Server 7.0. Pu˛ essere opportuno modificare questa impostazione se si dispone di un sistema RAID veloce e un modo per misurare l'agevolazione. Modificare questa impostazione a meno che non si dispone di una previsione in base ai quali valutare il risultato. Monitorare l'attivitÓ del disco e cercare eventuali problemi di accodamento del disco. Per ulteriori informazioni, vedere la seguente documentazione in linea di SQL Server gli argomenti:
  • "max async IO Option"
  • "Monitoraggio dell'attivitÓ del disco"
  • "Identificazione dei colli di bottiglia"
SQL Server 2000 e versioni successive: in SQL Server 2000 e versioni successive, non Ŕ possibile modificare l'impostazione di configurazione max async IO. SQL Server 2000 e versioni successive ottimizza automaticamente saranno molto limitati questa impostazione.

Max worker threads

Per impostazione predefinita, l'impostazione di max worker threads Ŕ 255 in SQL Server 2000. Di conseguenza, Ŕ possibile creare thread fino a 255 lavoro. Nella maggior parte dei casi, utilizzare l'impostazione predefinita di 255. Ci˛ non significa che sia possibile stabilire solo 255 connessioni utente. Un sistema pu˛ disporre di migliaia di connessioni utente (che sono essenzialmente multiplexed verso il basso per 255 thread di lavoro) e in generale, gli utenti non in genere percepire eventuali ritardi. In tal caso, solo 255 query possano essere eseguite simultaneamente, ma ci˛ multiplexed verso il basso per il numero di CPU disponibili, in modo che la natura concorrente solo viene percepita, indipendentemente dal numero di thread di lavoro configurato.

Nota Per impostazione predefinita, l'impostazione di max worker threads Ŕ 0 in SQL Server 2005 e in SQL Server 2008.

Se si configura un numero di thread di lavoro su un valore che sarÓ maggiore rispetto all'impostazione predefinita, Ŕ quasi sempre controproducente e rallenta le prestazioni a causa dell'overhead di programmazione e risorsa. Solo aumentare questa impostazione in circostanze molto raro e quando test rigorosi metodico dimostra che Ŕ utile effettuare questa operazione.

Memoria


Per informazioni sulla configurazione di memoria, vedere l'argomento "Optimizing Server Performance utilizzo memoria opzioni di configurazione" nella documentazione in linea.

Per ulteriori informazioni sulla configurazione di memoria per SQL Server in cluster vedere "Considerazioni sull'utilizzo" nell'argomento in linea della documentazione di SQL Server, "Creazione di un cluster di failover".

Per ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
274750Come configurare la memoria per pi¨ di 2 GB in SQL Server
224818Regolazione della memoria semplice Ŕ obbligatorio se SQL Server 7.0 ed Exchange 5.5 Service Pack 2 sono installati su BackOffice Small Business Server 4.5
316749PRB: There potrebbe non essere sufficiente memoria virtuale con un numero elevato di database

Incremento di prioritÓ

Per impostazione predefinita, l'impostazione di priority boost Ŕ 0, che fa sý che SQL Server per l'esecuzione con prioritÓ normale se si esegue SQL Server in un computer monoprocessore o su un computer (SMP) a pi¨ processori simmetrico. Se si imposta priority boost su 1, il processo di SQL Server viene eseguito con prioritÓ alta. Questa impostazione non rende il processo di SQL Server esecuzione con la prioritÓ pi¨ alta del sistema operativo.

Basate sull'esperienza di supporto effettivi, non Ŕ necessario utilizzare priority boost per avere buone prestazioni. Se si utilizza priority boost, possono interferire con i server smussate funziona in alcune condizioni e si consiglia di non utilizzare, tranne che in circostanze molto insolite. Servizio supporto tecnico clienti Microsoft, ad esempio, potrebbe utilizzare priority boost quando si analizza un problema di prestazioni.

Importante Non utilizzare priority boost per i cluster che eseguono SQL Server 7.0 e versioni successive.

Impostare dimensioni working set

Non modificare set working set size rispetto all'impostazione predefinita. Con il valore predefinito 0, virtual memory manager di Windows NT o Windows 2000 pu˛ determinare la dimensione del working set di SQL Server. Quando si installa SQL Server, l'installazione automaticamente indica a Windows NT o Windows 2000 per ottimizzare le prestazioni delle applicazioni di rete. Virtual memory manager di Windows NT o Windows 2000 non eseguirÓ pertanto molto poco working set rifilatura, che solo come minimo interferisce con il working set di istanze di SQL Server.

La modifica di questa impostazione non fornisce alcun vantaggio a livello di prestazioni. In base ai casi di supporto effettivi, la modifica di questa impostazione in genere fa sý che pi¨ buona danni.

Se si modifica, impostare le dimensioni del set di lavoro, pu˛ anche essere una causa di messaggi di errore di SQL Server 844 o 845. Vedere la sezione "Riferimenti" in questo articolo per ulteriori informazioni sulle cause comuni dei messaggi di errore 844 e 845.

Riferimenti

Per ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
310834PRB: Common cause del messaggio di errore 844 o messaggio di errore 845 (errori di timeout del latch di buffer)
298475Risoluzione dei problemi di prestazioni dell'applicazione
243589Come risolvere i problemi relativi a query con esecuzione lenta su SQL Server 7.0 o versione successiva
243588Come risolvere i problemi delle prestazioni delle query ad hoc
224587Come risolvere i problemi di prestazioni dell'applicazione con SQL Server
166967Impostazioni di configurazione appropriate di SQL Server 6.5
254321Operazioni consigliate/sconsigliate e avvisi di base relativi al server SQL a cluster
297864Considerazioni sulle prestazioni per un aggiornamento da SQL Server 6.5

ProprietÓ

Identificativo articolo: 319942 - Ultima modifica: venerdý 4 dicembre 2009 - Revisione: 6.0
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
Chiavi:á
kbmt kbhowtomaster KB319942 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: 319942
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