Configurazione di memoria e ridimensionamento considerazioni in SQL Server 2012

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

Sommario

Microsoft SQL Server esegue memoria automatica e dinamica gestione basata sui requisiti di memoria corrente del carico di lavoro nel sistema e componenti interni di SQL Server. SQL Server offre anche opzioni di configurazione relative alla memoria per facilitare l'ottimizzazione per i modelli di comportamento specifico di applicazione e requisiti avanzati specifici. Le diverse opzioni di configurazione seguenti:
  • opzioni di sp_configure (memoria massima del server (MB), min server memory (MB)e awe attivata)
  • parametro di avvio -g (memory_to_reserve)
  • pagine bloccate

Microsoft SQL Server 2012 introduce modifiche in gestore di memoria che influiscono sul modo in cui gli amministratori di configurare queste opzioni di memoria. Rivedere le modifiche descritte di seguito prima di aggiornare a SQL Server 2012 o prima di configurare una nuova installazione di SQL Server 2012.

Nota In questo articolo si applica anche a Microsoft SQL Server 2014.

Informazioni

SQL Server 2012 introduce anche le modifiche in modo tipi specifici di allocazioni di memoria sono prese in considerazione e le opzioni di configurazione di memoria che controllano la quantità massima di memoria che può essere utilizzata da questi tipi di allocazioni. Le modifiche di SQL Server 2012 sono specifiche per le richieste di allocazione di memoria da CLR SQL e dalle allocazioni a più pagine. SQL Server 2012 dispone di un allocatore di pagina nuova che gestisce le allocazioni a pagina singola e a più pagine (minore di 8 KB e il maggiore di richieste di allocazione di 8 KB). Pertanto, non esiste alcuna categorizzazione separato che viene chiamato "A più pagine allocazioni" in SQL Server 2012.

Modifiche apportate a "max server memory (MB)" e "min server memory (MB)"

Nelle versioni precedenti di SQL Server (SQL Server 2005, SQL Server 2008 e SQL Server 2008 R2), le seguenti opzioni di configurazione determinati limiti di memoria fisica utilizzato dal pool di buffer. Si noti che stiamo parlando di memoria fisica in questo caso, la memoria fisica che è stato eseguito il commit dal processo del motore di database di SQL Server:
  • memoria massima del server (MB)
  • memoria del server min (MB)
Thisconfiguration opzione inclusa in genere solo le allocazioni di memoria sono state minore o uguale a 8 KB nel processo di SQL Server. Werealso queste allocazioni denominato "single_page_allocations" poiché il gestore della memoria di SQL Server utilizzata una dimensione di pagina di 8 KB. Questa configurazione non include le seguenti richieste di allocazione di memoria:
  • Allocazioni a più pagine da SQL Server: si tratta di allocazioni che richiedono più di 8 KB.
  • Allocazioni di CLR: CLR SQL di includere queste allocazioni heap e relativa le assegnazioni globali vengono create durante l'inizializzazione di Common Language Runtime.
  • Allocazioni di memoria per gli stack di thread nel processo di SQL Server.
  • Le richieste di allocazione della memoria diretta di Windows: utilizzo dell'heap di Windows e dirette allocazioni virtuali eseguite da moduli caricati nel processo di SQL Server. Esempi di tali richieste di allocazione di memoria allocazioni da stored procedure estesa (DLL), gli oggetti creati utilizzando le procedure di automazione (chiamate sp_OA) e le allocazioni dal provider di server collegato.

A partire da SQL Server 2012, le allocazioni create con più pagine e Common Language Runtime sono inclusi anche in limiti di memoria sono controllati da max server memory (MB) e min server memory (MB). Questa modifica consente una più accurata ridimensionamento di tutti i requisiti di memoria che passano attraverso il gestore della memoria di SQL Server. Dopo l'aggiornamento a SQL Server 2012, esaminare attentamente i valori correnti di max server memory (MB) e min server memory (MB) . Poiché SQL Server 2012 include ulteriori allocazioni di memoria rispetto alle versioni precedenti di account, è opportuno esaminare tali valori. Queste modifiche verranno applicate alle versioni a 32 bit e 64 bit di SQL Server 2012.

Nella tabella seguente indica se un tipo specifico di allocazione della memoria è controllato dalle opzioni di configurazione max server memory (MB) e min server memory (MB).
Riduci questa tabellaEspandi questa tabella
Tipo di allocazione della memoriaSQL Server 2005, SQL Server 2008, SQL Server 2008 R2SQL Server 2012
Allocazioni a pagina singolaSì, consolidati in allocazioni di pagina "qualsiasi dimensione"
Allocazioni a più pagineNoSì, consolidati in allocazioni di pagina "qualsiasi dimensione"
Allocazioni di CLRNo
Memoria stack del threadNoNo
Allocazioni direttamente da WindowsNoNo

Modifiche apportate a "memory_to_reserve"


Nelle versioni precedenti di 32 bit di SQL Server (SQL Server 2005, SQL Server 2008 e SQL Server 2008 R2), il gestore della memoria di SQL Server riservare una parte di spazio di indirizzi virtuali del processo da utilizzare per le richieste di allocazione seguenti:
  • Allocazioni a più pagine da SQL Server: si tratta di allocazioni che richiedono più di 8 KB.
  • Allocazioni di CLR: CLR SQL di includere queste allocazioni heap e relativa le assegnazioni globali vengono create durante l'inizializzazione di Common Language Runtime.
  • Allocazioni di memoria per gli stack di thread nel processo di SQL Server.
  • Le richieste di allocazione di memoria effettuate direttamente a Windows: queste richieste di allocazione includono l'utilizzo dell'heap di Windows e dirette allocazioni virtuali eseguite da moduli caricati nel processo di SQL Server. Esempi di tali richieste di allocazione di memoria allocazioni da stored procedure estesa (DLL), gli oggetti creati utilizzando le procedure di automazione (chiamate sp_OA) e le allocazioni dal provider di server collegato.

The virtual address space that is reserved for these allocations is determined by the memory_to_reserve configuration option. The default value that SQL Server uses is 256 MB. To override the default value, use the SQL Server -g startup parameter. This part of the virtual address space is also known as "Memory-To-Leave" or "non-Buffer Pool region."

Because SQL Server 2012 has the new "any size" page allocator that handles allocations greater than 8 KB, the memory_to_reserve value does not include the multi-page allocations. Except for this change, everything else remains the same with this configuration option.

The following table indicates whether a specific type of memory allocation falls into the memory_to_reserve region of virtual address space for the SQL Server process.
Riduci questa tabellaEspandi questa tabella
Type of memory allocationSQL Server 2005, SQL Server 2008, SQL Server 2008 R2SQL Server 2012
Single-page allocationsNoNo, consolidated into "any size" page allocations
Multi-page allocationsYesNo, consolidated into "any size" page allocations
CLR allocationsYesYes
Thread stacks memoryYesYes
Direct allocations from WindowsYesYes

Changes to other memory-related configuration options

If you configured SQL Server 2005, SQL Server 2008, or SQL Server 2008 R2 to use the "awe enabled" option, please review the following article to understand important changes for this configuration option:
The "awe enabled" SQL Server feature is deprecated

If you configured SQL Server 2005, SQL Server 2008, or SQL Server 2008 R2 to use the "locked pages" feature, please review the following article to understand important changes for this configuration option:
How to enable "locked pages" feature in SQL Server 2012

Maximum memory utilization for various editions of SQL Server

Different editions of SQL Server have maximum limits on various resources they can use. There are limits enforced on maximum memory usage for different editions of SQL Server. For example, a SQL Server 2008 R2 instance can use only a maximum memory of 64 GB. For complete details, go to the following MSDN webpage:
 Features Supported by the Editions of SQL Server 2012
Starting with SQL Server 2012, these memory limits are enforced only for the database cache (buffer pool). The rest of the caches in the SQL Server memory manager can use much more memory than is specified by these edition limits. For example, a SQL Server 2012 Express edition can use only a maximum size of 1.4 GB for its database cache. Other caches (such as the procedure cache, the metadata cache, and so on) can consume memory up to the size specified by the "max server memory" configuration.

Riferimenti

SQL Server Memory Manager Changes in Denali

New SQLOS features in SQL Server 2012

Proprietà

Identificativo articolo: 2663912 - Ultima modifica: giovedì 24 luglio 2014 - Revisione: 3.0
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2012 Enterprise
Chiavi: 
kbtshoot kbmt KB2663912 KbMtit
Traduzione automatica articoli
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: 2663912
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