Faça a gestão de uma base de dados tempdb

Esta página descreve a gestão da base de dados tempdb no Cloud SQL.

A base de dados tempdb é uma base de dados do sistema que contém muitos objetos, incluindo tabelas temporárias, procedimentos armazenados e muito mais. Nas suas instâncias, pode realizar operações comuns nesta base de dados.

Uma base de dados tempdb é recriada sempre que uma instância é reiniciada. Para evitar a perda de autorizações do utilizador, o Cloud SQL fornece autorizações ao sqlserver utilizador após o reinício de uma instância.

Vista geral

O sqlserver utilizador tem a autorização ALTER para gerir as opções da base de dados tempdb.

Para mais informações sobre a gestão deste recurso, consulte a página base de dados tempdb.

Faça a gestão dos ficheiros tempdb

Depois de estabelecer ligação a uma instância, o sqlserver utilizador pode gerir os ficheiros tempdb.

Número de ficheiros

O utilizador tem autorização ALTER na base de dados tempdb, o que lhe permite controlar as definições do número de ficheiros e muito mais. Alguns exemplos de operações incluem o seguinte:

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

Tamanho do ficheiro

As secções seguintes descrevem os métodos usados para controlar o tamanho dos ficheiros na base de dados tempdb.

Para mais informações sobre estes métodos, consulte o artigo Reduza a base de dados tempdb.

Altere os tamanhos dos ficheiros em tempdb

Para controlar o tamanho dos ficheiros na base de dados tempdb, use a declaração ALTER DATABASE. Para mais informações, consulte o artigo ALTER DATABASE (Transact-SQL) File and Filegroup Options.

Reduza o tamanho de ficheiros individuais

msdb.dbo.gcloudsql_tempdb_shrinkfile é um procedimento armazenado que pode usar para reduzir um ficheiro individual na base de dados tempdb.

Este procedimento armazenado oferece todas as mesmas vantagens do comando DBCC SHRINKFILE.

Seguem-se exemplos de utilizações do procedimento armazenado msdb.dbo.gcloudsql_tempdb_shrinkfile e dos respetivos parâmetros, executados a partir do Cloud SQL Studio:

  1. Opção predefinida

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME'

    Onde:

    • FILENAME: o nome do ficheiro a reduzir. Por exemplo, tempdev.

    Este comando executa os seguintes comandos do SQL Server:

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

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

    Onde:

    • EMPTY_FILE_INT: um valor inteiro que é 0 ou 1. Se 1, então EMPTYFILE é transmitido como uma opção. Esta opção tem prioridade sobre outros parâmetros.

    Este comando executa os seguintes comandos do SQL Server:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, EMPTYFILE)
  3. Tamanho do alvo

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

    Onde:

    • TARGET_SIZE_INT: um número inteiro que representa o tamanho alvo do ficheiro em megabytes. Transmite ao comando DBCC SHRINKFILE qualquer valor que seja superior ou igual a zero. Por exemplo, 10.

    Este comando executa os seguintes comandos do SQL Server. O número inteiro 10 está incluído como exemplo:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, 10)
  4. Apenas segmentar o tamanho e truncar

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

    Onde:

    • TRUNCATE_ONLY_INT: aceita um valor inteiro de 0 ou 1. Se estiver definido como 1, TRUNCATEONLY é transmitido como uma opção. O tamanho do alvo é ignorado se TRUNCATEONLY for transmitido. Esta opção tem prioridade sobre a opção NOTRUNCATE.

    Este comando executa os seguintes comandos do SQL Server:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, 10, TRUNCATEONLY)
  5. Tamanho do alvo e nenhuma opção de corte

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

    Onde:

    • NO_TRUNCATE_INT: aceita um valor inteiro de 0 ou 1. Se estiver definido como 1, NOTRUNCATE é transmitido como uma opção.

    Este comando executa os seguintes comandos do SQL Server:

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

O que se segue?