Gerenciar um banco de dados tempdb

Esta página descreve 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 a permissão ALTER no banco de dados tempdb, o que permite controlar as configurações do número de arquivos e muito mais. Confira alguns exemplos de operações:

  • 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 no 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 de 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 abaixo exemplos de uso do procedimento armazenado msdb.dbo.gcloudsql_tempdb_shrinkfile e seus parâmetros, executados no Cloud SQL Studio:

  1. Opção padrão

    msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME'

    Em que:

    • FILENAME: o nome do arquivo que 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 de 0 ou 1. Se 1, EMPTYFILE é 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 exemplo:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, 10)
  4. Tamanho de destino e truncamento somente

    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 precedência sobre NOTRUNCATE.

    Esse comando executa os seguintes comandos do SQL Server:

    • USE tempdb
    • DBCC SHRINKFILE (@filename, 10, TRUNCATEONLY)
  5. Tamanho desejado 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