Condividi tramite


Database tempdb

Data aggiornamento: 14 aprile 2006

Il database di sistema tempdb è una risorsa globale disponibile a tutti gli utenti connessi all'istanza di SQL Server e viene utilizzata per contenere gli elementi seguenti:

  • Oggetti utente temporanei creati in modo esplicito, ad esempio tabelle temporanee globali o locali, stored procedure temporanee, variabili di tabella o cursori.
  • Oggetti interni creati dal Motore di database di SQL Server 2005, ad esempio tabelle di lavoro in cui archiviare i risultati intermedi delle operazioni di spooling o di ordinamento.
  • Versioni di riga generate dalle transazioni di modifica dei dati in un database in cui viene utilizzato il Read committed tramite isolamento delle versioni delle righe o transazioni di isolamento dello snapshot.
  • Versioni di riga generate dalle transazioni di modifica dei dati per le funzionalità, ad esempio le operazioni sugli indici in linea, la funzionalità MARS (Multiple Active Result Set) e i trigger AFTER.

In tempdb viene registrato un numero minimo di operazioni ai fini del rollback delle transazioni. tempdb viene creato nuovamente a ogni avvio di SQL Server in modo che il sistema venga sempre avviato con una copia pulita del database. Poiché le tabelle e le stored procedure temporanee vengono eliminate automaticamente al momento della disconnessione e poiché al momento della chiusura del sistema non vi sono connessioni attive, nessuna parte del database tempdb viene salvata per le sessioni successive di SQL Server. Le operazioni di backup e di ripristino non sono consentite nel database tempdb.

Proprietà fisiche di tempdb

Nella tabella seguente sono elencati i valori iniziali di configurazione dei dati e dei file di log di tempdb. Le dimensioni di questi file possono variare leggermente a seconda dell'edizione di SQL Server 2005.

File Nome logico Nome fisico Aumento di dimensioni del file

Dati primari

tempdev

tempdb.mdf

Crescita automatica del 10% fino a quando il disco risulta pieno

Log

templog

templog.ldf

Aumento automatico delle dimensioni del 10% fino a un massimo di 2 TB

Le dimensioni del database tempdb possono influire sulle prestazioni di un sistema. Se ad esempio le dimensioni di tempdb sono eccessivamente ridotte, è possibile che l'elaborazione del sistema sia troppo occupata con l'aumento automatico delle dimensioni del database per supportare i requisiti del carico di lavoro a ogni avvio di SQL Server. Per ovviare a questo overhead, aumentare le dimensioni di tempdb. Per ulteriori informazioni, vedere Ottimizzazione delle prestazioni di tempdb e Pianificazione delle capacità per tempdb.

Miglioramenti delle prestazioni in tempdb

In SQL Server 2005 le prestazioni di tempdb sono state migliorate come segue:

  • È possibile memorizzare nella cache tabelle temporanee e variabili di tabella. La memorizzazione nella cache consente di eseguire molto rapidamente le operazioni di eliminazione e creazione degli oggetti temporanei e di ridurre i problemi di contesa nell'allocazione delle pagine.
  • Il protocollo di latch delle pagine di allocazione è stato migliorato. In questo modo è possibile ridurre il numero di latch di aggiornamento (UP) utilizzati.
  • L'overhead di registrazione per il database tempdb è stato ridotto. In questo modo si riduce l'utilizzo di banda per operazioni di I/O su disco nel file di log di tempdb.
  • L'algoritmo per l'allocazione delle pagine miste in tempdb è stato migliorato.

Spostamento dei dati e dei file di log di tempdb

Per spostare i dati e i file di log di tempdb, vedere Spostamento dei database di sistema.

Opzioni di database

Nella tabella seguente sono elencati i valori predefiniti delle singole opzioni di database di tempdb e viene indicato se l'opzione è modificabile. Per visualizzare le impostazioni correnti di queste opzioni, utilizzare la vista del catalogo sys.databases.

Opzione di database Valore predefinito Modificabile

ALLOW_SNAPSHOT_ISOLATION

OFF

ANSI_NULL_DEFAULT

OFF

ANSI_NULLS

OFF

ANSI_PADDING

OFF

ANSI_WARNINGS

OFF

ARITHABORT

OFF

AUTO_CLOSE

OFF

No

AUTO_CREATE_STATISTICS

ON

AUTO_SHRINK

OFF

No

AUTO_UPDATE_STATISTICS

ON

AUTO_UPDATE_STATISTICS_ASYNC

OFF

CONCAT_NULL_YIELDS_NULL

OFF

CURSOR_CLOSE_ON_COMMIT

OFF

CURSOR_DEFAULT

GLOBAL

Opzioni relative alla disponibilità del database

ONLINE

MULTI_USER

READ_WRITE

No

No

No

DATE_CORRELATION_OPTIMIZATION

OFF

DB_CHAINING

ON

No

NUMERIC_ROUNDABORT

OFF

PAGE_VERIFY

NONE

No

PARAMETERIZATION

SIMPLE

QUOTED_IDENTIFIER

OFF

READ_COMMITTED_SNAPSHOT

OFF

No

RECOVERY

SIMPLE

No

RECURSIVE_TRIGGERS

OFF

Opzioni relative a Service Broker

ENABLE_BROKER

TRUSTWORTHY

OFF

No

Per una descrizione di queste opzioni di database, vedere ALTER DATABASE (Transact-SQL).

Restrizioni

Di seguito sono riportate le operazioni che non è possibile eseguire sul database tempdb:

  • Aggiunta di filegroup.
  • Backup o ripristino del database.
  • Modifica delle regole di confronto. Le regole di confronto predefinite corrispondono a quelle del server.
  • Modifica del proprietario del database. Il proprietario del database tempdb è dbo.
  • Creazione di uno snapshot del database.
  • Eliminazione del database.
  • Eliminazione dell'utente guest dal database.
  • Partecipazione al mirroring del database.
  • Rimozione del filegroup primario, del file di dati primario o del file di log.
  • Ridenominazione del filegroup primario o del database.
  • Esecuzione di DBCC CHECKALLOC.
  • Esecuzione di DBCC CHECKCATALOG.
  • Impostazione del database su OFFLINE.
  • Impostazione del filegroup primario o del database su READ_ONLY.

Vedere anche

Attività

Risoluzione dei problemi relativi allo spazio su disco insufficiente in tempdb

Concetti

Ottimizzazione delle prestazioni di tempdb
Pianificazione delle capacità per tempdb
tempdb e creazione dell'indice
Database di sistema.

Altre risorse

sys.databases (Transact-SQL)
sys.master_files (Transact-SQL)
Spostamento dei file del database

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

14 aprile 2006

Nuovo contenuto:
  • Aggiunta dello snapshot del database, di DBCC CHECKALLOC e di DBCC CHECKCATALOG all'elenco delle operazioni limitate.
  • Aggiunta della nota indicante che le operazioni di backup e di ripristino non sono consentite nel database tempdb.

5 dicembre 2005

Nuovo contenuto:
  • Aggiunta della sezione relativa ai miglioramenti delle prestazioni.
Contenuto modificato:
  • Eliminazione del riferimento all'opzione SUPPLEMENTAL_LOGGING.