Gestire un database tempdb

Questa pagina descrive la gestione del database tempdb in Cloud SQL.

Il database tempdb è un database di sistema che contiene molti oggetti, tra cui tabelle temporanee, stored procedure e altro ancora. Nelle tue istanze, puoi eseguire operazioni comuni su questo database.

Un database tempdb viene ricreato ogni volta che viene riavviata un'istanza. Per evitare la perdita delle autorizzazioni utente, Cloud SQL fornisce le autorizzazioni all'utente sqlserver dopo il riavvio di un'istanza.

Panoramica

L'sqlserver utente dispone dell'autorizzazione ALTER per la gestione delle opzioni del database tempdb.

Per saperne di più sulla gestione di questa risorsa, consulta la pagina Database tempdb.

Gestire i file tempdb

Dopo aver eseguito la connessione a un'istanza, l'utente sqlserver può gestire i file tempdb.

Numero di file

L'utente dispone dell'autorizzazione ALTER sul database tempdb, che gli consente di controllare le impostazioni per il numero di file e altro ancora. Alcune operazioni di esempio includono le seguenti:

  • ALTER DATABASE [tempdb] ADD FILE
  • ALTER DATABASE [tempdb] REMOVE

Dimensioni file

Le sezioni seguenti descrivono i metodi utilizzati per controllare le dimensioni dei file nel database tempdb.

Per ulteriori informazioni su questi metodi, vedi Ridurre il database tempdb.

Modificare le dimensioni dei file in tempdb

Per controllare le dimensioni dei file nel database tempdb, utilizza l'istruzione ALTER DATABASE. Per ulteriori informazioni, consulta Opzioni per file e filegroup ALTER DATABASE (Transact-SQL).

Ridurre le dimensioni dei singoli file

msdb.dbo.gcloudsql_tempdb_shrinkfile è una stored procedure che puoi utilizzare per ridurre le dimensioni di un singolo file nel database tempdb.

Questa stored procedure offre gli stessi vantaggi del comando DBCC SHRINKFILE.

.

Di seguito sono riportati esempi di utilizzo della stored procedure msdb.dbo.gcloudsql_tempdb_shrinkfile e dei relativi parametri, eseguiti da Cloud SQL Studio:

  1. Opzione predefinita

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME'

    Dove:

    • FILENAME: il nome del file da comprimere. Ad esempio, tempdev.

    Questo comando esegue i seguenti comandi SQL Server:

    • USE tempdb
    • DBCC SHRINKFILE (@filename)
  2. EMPTYFILE

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @empty_file=EMPTY_FILE_INT

    Dove:

    • EMPTY_FILE_INT: un valore intero pari a 0 o 1. Se 1, allora EMPTYFILE viene passato come opzione. Questa opzione ha la priorità sugli altri parametri.

    Questo comando esegue i seguenti comandi SQL Server:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, EMPTYFILE)
  3. Dimensioni di destinazione

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=TARGET_SIZE_INT

    Dove:

    • TARGET_SIZE_INT: un numero intero che rappresenta la dimensione target del file in megabyte. Passa al comando DBCC SHRINKFILE qualsiasi valore maggiore o uguale a zero. Ad esempio: 10.

    Questo comando esegue i seguenti comandi SQL Server. L'intero 10 è incluso come esempio:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, 10)
  4. Dimensioni target e troncamento

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=10, @truncateonly=TRUNCATE_ONLY_INT

    Dove:

    • TRUNCATE_ONLY_INT: accetta un valore intero pari a 0 o 1. Se è impostato su 1, TRUNCATEONLY viene passato come opzione. La dimensione target viene ignorata se viene passato TRUNCATEONLY. Questa opzione ha la priorità su NOTRUNCATE.

    Questo comando esegue i seguenti comandi SQL Server:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, 10, TRUNCATEONLY)
  5. Dimensioni target e nessuna opzione di troncamento

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=10, @no_truncate=NO_TRUNCATE_INT

    Dove:

    • NO_TRUNCATE_INT: accetta un valore intero pari a 0 o 1. Se è impostato su 1, NOTRUNCATE viene passato come opzione.

    Questo comando esegue i seguenti comandi SQL Server:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, 10, NOTRUNCATE)

Passaggi successivi