Considerazioni per le impostazioni "aumento automatico delle dimensioni" e "compattazione automatica" in SQL Server

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

Sommario

Le impostazioni predefinite di aumento e compattazione automatica funzionerÓ automaticamente con nessuna ottimizzazione in molti computer SQL Server i sistemi. Tuttavia, esistono gli ambienti in cui non Ŕ necessario attivare le impostazioni o in cui potrebbe essere necessario regolare i parametri di aumento e compattazione automatica. In questo articolo fornisce alcune informazioni preliminari Guida quando si selezionano le impostazioni per il proprio ambiente.

Informazioni

Ecco alcuni aspetti da considerare se si decide di ottimizzare i parametri di aumento e compattazione automatica.

Come configurare le impostazioni

  1. ╚ possibile configurare le impostazioni di aumento e compattazione automatica utilizzando una delle seguenti operazioni:
    • Un'istruzione ALTER DATABASE (non disponibile in SQL Server 7.0)
    • SQL Server Management Studio o SQL Enterprise Manager
    • Sp_dboption stored procedure (obsoleta in SQL Server 2005)
    Nota Se si utilizza SQL Server 2005, utilizzare SQL Server Management Studio anzichÚ SQL Enterprise Manager. Per ulteriori informazioni sull'impostazione di queste impostazioni in SQL Server 2005, visitare i seguenti siti Web MSDN (informazioni in lingua INGLESE):
    Procedura: aggiunta di dati o log files to a database (SQL Server Management Studio)
    http://msdn2.microsoft.com/en-us/library/ms189253.aspx
    ProprietÓ database (file pagina)
    http://msdn2.microsoft.com/en-us/library/ms180254.aspx
    ╚ inoltre possibile configurare l'opzione di aumento automatico quando si crea un database.

    ╚ possibile visualizzare le impostazioni correnti tramite le proprietÓ del database in SQL Enterprise Manager (SEM). In alternativa, Ŕ possibile eseguire il seguente comando Transact-SQL:
    sp_helpdb [ [ @dbname= ] 'name' ]
  2. Tenere presente che le impostazioni di aumento automatico delle dimensioni per ogni file. Di conseguenza, Ŕ necessario impostarli in almeno due punti per ogni database, uno per il file di dati primario e uno per il file di log primario. Se si dispone di pi¨ file di registro e/o dati, Ŕ necessario impostare le opzioni su ciascun file. A seconda dell'ambiente pu˛ terminare con impostazioni diverse per ogni file di database.

Che cosa sono le implicazioni sulle prestazioni?

  • Se Ŕ stata attivata l'opzione di aumento automatico per il log delle transazioni del database e si esegue una transazione che richiede pi¨ spazio di log rispetto a quella disponibile, il tempo che necessario per completare la transazione include il tempo che necessario aumentare le dimensioni del valore configurato del log delle transazioni. Se l'incremento di crescita Ŕ di grandi dimensioni o altri fattori che assume un lungo periodo di tempo, la query in cui si apre la transazione potrebbe non riuscire a causa di un errore di timeout. Lo stesso tipo di problema possono essere causati da un aumento automatico delle dimensioni della parte di dati del database. Per modificare la configurazione di aumento automatico, vedere l'argomento "ALTER DATABASE" nella documentazione di SQL Server in linea.
  • Se si esegue una transazione di grandi dimensioni che richiede il log di ingrandimento, altre transazioni che richiedono una scrittura nel log delle transazioni anche dovranno attendere fino al completamento dell'operazione di aumento.
  • Se si combinano le opzioni di aumento e compattazione automatica, Ŕ possibile creare inutili overhead. Assicurarsi che i valori limite che attivano l'ingrandimento e riduzione delle operazioni non causano frequenti modifiche delle dimensioni di scorrimento verso l'alto e verso il basso. Ad esempio, Ŕ possibile eseguire una transazione che causa il crescita del log delle transazioni da 100 MB nel momento in cui che esegue il commit. Alcuni tempo dopo che la compattazione automatica viene avviato e si riduce il log delle transazioni da 100 MB. Eseguire la stessa transazione, quindi determina l'aumento di dimensioni da 100 MB nuovamente del log delle transazioni. In questo esempio si sta creando inutili overhead e potenzialmente creando la frammentazione del file di registro, uno dei quali effetti negativi sulle prestazioni.
  • La frammentazione di modificare le dimensioni dei file di dati o di log fisica pu˛ avere un impatto grave sulle prestazioni del. Ci˛ si verifica se si utilizzano le impostazioni automatiche o se aumentare le dimensioni manualmente e compattare i file di frequente.
  • Aumento delle dimensioni del database di piccoli incrementi o se tale aumento di dimensioni e quindi compattare, Ŕ possibile terminare con la frammentazione del disco. Disco frammentazione pu˛ causare problemi di prestazioni in alcune circostanze. Uno scenario di crescita di piccoli incrementi anche possibile ridurre le prestazioni del sistema.
  • In SQL Server 2005 o versioni successive, Ŕ possibile attivare l'inizializzazione file immediata. Inizializzazione file immediata consente di velocizzare le allocazioni di file solo per i file di dati. Inizializzazione file immediata non Ŕ applicabile ai file di registro.
  • Se si dispone di molti file growths nei file di registro, potrebbe essere un numero eccessivamente elevato di file di log virtuale (VLF). Questo pu˛ influire negativamente sulle prestazioni delle operazioni in linea/avvio del database, replica, mirroring e modificare l'acquisizione dei dati (CDC). Inoltre, questo pu˛ talvolta causare problemi di prestazioni con le modifiche apportate ai dati.

Procedure consigliate

  • Per un sistema di produzione gestito, Ŕ necessario prendere in considerazione l' aumento automatico sia semplicemente una soluzione di emergenza per la crescita imprevista. Non gestiscono i dati e log crescita su base giornaliera con aumento automatico delle dimensioni.
  • ╚ possibile utilizzare gli avvisi o programmi di monitoraggio per monitorare le dimensioni dei file e aumento dimensioni dei file in modo proattivo. In questo modo Ŕ possibile evitare la frammentazione e permette di spostare le attivitÓ di manutenzione per ore non di punta.
  • Aumento automatico delle dimensioni e compattazione automatica deve essere valutati attentamente dall'amministratore di database esperti (DBA) non deve restare non gestito.
  • L'incremento di aumento automatico delle dimensioni deve essere sufficiente per evitare riduzioni di prestazioni elencati nella sezione precedente. Il valore esatto da utilizzare per l'impostazione di configurazione e la scelta tra una crescita percentuale e un aumento della dimensione MB specifico dipende da molti fattori nel proprio ambiente. Un'in generale Ŕ possibile utilizzare per test Ŕ per impostare l'aumento automatico a circa otto di uno la dimensione del file.
  • Attivare l'impostazione <maxsize>per ogni file per impedire qualsiasi file di una crescita in un punto in cui viene utilizzato tutto lo spazio disponibile sul disco.
  • Mantenere le dimensioni delle transazioni al minimo impedire l'aumento delle dimensioni del file non pianificato.

PerchÚ Ŕ necessario preoccuparsi di spazio su disco se vengono controllate automaticamente le impostazioni delle dimensioni

  • L'impostazione di aumento automatico delle dimensioni non Ŕ possibile aumentare le dimensioni del database oltre i limiti dello spazio disponibile sulle unitÓ per cui sono definiti i file. Pertanto, se utilizzano le funzionalitÓ di aumento automatico dimensioni dei database, Ŕ necessario controllare ancora in modo indipendente lo spazio disponibile sul disco rigido. L'impostazione di aumento automatico delle dimensioni Ŕ limitata anche mediante il parametro MAXSIZE che selezionare per ogni file. Per ridurre il rischio di esaurire lo spazio, Ŕ possibile monitorare il contatore di Performance Monitor SQLServer: database Object: file dimensione e impostare un avviso quando il database raggiunge una determinata dimensione.
  • Non pianificato crescita dei file di dati o di log pu˛ richiedere lo spazio che altre applicazioni prevede che sia disponibile e potrebbero causare i problemi di altre applicazioni.
  • L'incremento di crescita del log delle transazioni deve essere sufficientemente grande per essere sempre davanti alle esigenze delle unitÓ delle transazioni. Anche con l' aumento automatico attivato, Ŕ possibile ricevere un messaggio indicante che il log delle transazioni Ŕ pieno, se non Ŕ possibile aumentare abbastanza rapidamente per soddisfare le esigenze della query.
  • SQL Server non esegue costantemente test per i database che hanno raggiunto la soglia configurata per la compattazione automatica. Invece esamina i database disponibili e trova la prima condizione Ŕ configurata per la compattazione automatica. Controlla database e si riduce tale database se necessario. Quindi, attende alcuni minuti prima di archiviare il database successivo Ŕ configurato per la compattazione automatica. In altre parole, SQL Server non controllare contemporaneamente tutti i database e li compatta tutte contemporaneamente. Funziona tramite i database in modalitÓ round robin consente di scaglionare il carico out in un determinato periodo di tempo. Di conseguenza, a seconda di quanti database su una particolare istanza di SQL Server Ŕ stato configurato per la compattazione automatica, potrebbe richiedere diverse ore dal momento in cui che il database raggiunge la soglia fino a quando non effettivamente si riduce.

Riferimenti

Per ulteriori informazioni su come aumentare le dimensioni e compattare i database e i file registro, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
256650Come ridurre la dimensione del log delle transazioni di SQL Server 7.0
272318Compattazione del log delle transazioni in SQL Server 2000 con DBCC SHRINKFILE
317375Un log delle transazioni aumenta in modo imprevisto o diventa pieno in un computer che esegue SQL Server
247751Errore: Il piano di manutenzione database non compatta il database
305635Si verifica un timeout quando un database Ŕ espansione automatica
949523La latenza di una replica transazionale Ŕ elevata in SQL Server 2005 quando il valore della proprietÓ "Initial Size" e il valore della proprietÓ aumento automatico dimensioni siano di piccole dimensioni
Per ulteriori informazioni sull'inizializzazione del file di database, visitare il seguente sito Web MSDN (informazioni in lingua INGLESE):
Database file initialization
Per ulteriori informazioni sull'abilitazione di inizializzazione file immediata, visitare il seguente sito Web Microsoft:
How and why to enable instant file initialization
Per ulteriori informazioni sull'architettura fisica del registro delle transazioni, visitare il seguente sito MSDN Web:
Transaction log physical architecture

Documentazione in linea; gli argomenti: "Transaction architettura fisica del log"; "Compattazione the Transaction log"

ProprietÓ

Identificativo articolo: 315512 - Ultima modifica: venerdý 7 marzo 2008 - Revisione: 7.4
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Chiavi:á
kbmt kbinfo KB315512 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: 315512
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