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:
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)
- FILENAME: o nome do ficheiro a reduzir. Por exemplo,
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)
- EMPTY_FILE_INT: um valor inteiro que é 0 ou 1. Se 1,
então
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)
- TARGET_SIZE_INT: um número inteiro que representa o tamanho alvo do ficheiro em megabytes. Transmite ao comando
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 seTRUNCATEONLY
for transmitido. Esta opção tem prioridade sobre a opçãoNOTRUNCATE
.
Este comando executa os seguintes comandos do SQL Server:
USE tempdb
DBCC SHRINKFILE (@filename, 10, TRUNCATEONLY)
- TRUNCATE_ONLY_INT: aceita um valor inteiro de 0 ou 1.
Se estiver definido como 1,
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)
- NO_TRUNCATE_INT: aceita um valor inteiro de 0 ou 1.
Se estiver definido como 1,
O que se segue?
- Saiba mais sobre as Definições de instância.
- Saiba mais sobre a monitorização de instâncias do Cloud SQL.