Gerenciar um banco de dados tempdb

Nesta página, descrevemos o gerenciamento do banco de dados tempdb no Cloud SQL.

O banco de dados tempdb é um banco de dados do sistema que tem muitos objetos, incluindo tabelas temporárias, procedimentos armazenados e muito mais. Nas instâncias, é possível executar operações comuns nesse banco de dados.

Um banco de dados temporário será recriado sempre que uma instância for reiniciada. Para evitar a perda das permissões do usuário, o Cloud SQL fornece permissões ao usuário do sqlserver depois que uma instância é reiniciada.

Visão geral

O usuário do sqlserver tem a permissão ALTER para gerenciar as opções de banco de dados tempdb.

Para mais informações sobre como gerenciar esse recurso, consulte a página banco de dados tempdb.

Gerenciar arquivos tempdb

Depois de se conectar a uma instância, o usuário do sqlserver pode gerenciar os arquivos tempdb.

Número de arquivos

O usuário tem permissão ALTER no banco de dados tempdb, o que permite controlar as configurações do número de arquivos e muito mais. Alguns exemplos de operações incluem o seguinte:

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

Tamanho do arquivo

As seções a seguir descrevem os métodos usados para controlar o tamanho dos arquivos no banco de dados tempdb.

Para mais informações sobre esses métodos, consulte Reduzir o banco de dados tempdb.

Mudar o tamanho dos arquivos em tempdb

Para controlar o tamanho dos arquivos no banco de dados tempdb, use a instrução ALTER DATABASE. Para mais informações, consulte Opções de arquivo e grupo de arquivos ALTER DATABASE (Transact-SQL).

Reduzir o tamanho de arquivos individuais

msdb.dbo.gcloudsql_tempdb_shrinkfile é um procedimento armazenado que pode ser usado para reduzir um arquivo individual no banco de dados tempdb.

Esse procedimento armazenado oferece todos os mesmos benefícios do comando DBCC SHRINKFILE.

Confira a seguir exemplos de uso do procedimento armazenado msdb.dbo.gcloudsql_tempdb_shrinkfile e dos parâmetros dele, executados no Cloud SQL Studio:

  1. Opção padrão

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME'

    Em que:

    • FILENAME: o nome do arquivo a ser reduzido. Por exemplo, tempdev.

    Esse 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

    Em que:

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

    Esse comando executa os seguintes comandos do SQL Server:

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

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

    Em que:

    • TARGET_SIZE_INT: um número inteiro que representa o tamanho de destino do arquivo em megabytes. Transmite ao comando DBCC SHRINKFILE qualquer valor maior ou igual a zero. Por exemplo, 10.

    Esse comando executa os seguintes comandos do SQL Server. O número inteiro 10 é incluído como um exemplo:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, 10)
  4. Apenas tamanho desejado e truncamento

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

    Em que:

    • TRUNCATE_ONLY_INT: aceita um valor inteiro de 0 ou 1. Se definido como 1, TRUNCATEONLY será transmitido como uma opção. O tamanho de destino é ignorado se TRUNCATEONLY for transmitido. Essa opção tem prioridade sobre NOTRUNCATE.

    Esse comando executa os seguintes comandos do SQL Server:

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

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

    Em que:

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

    Esse comando executa os seguintes comandos do SQL Server:

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

A seguir