En esta página se describe la gestión de la base de datos tempdb en Cloud SQL.
La base de datos tempdb es una base de datos del sistema que contiene muchos objetos, como tablas temporales, procedimientos almacenados y más. En tus instancias, puedes realizar operaciones comunes en esta base de datos.
Una base de datos tempdb se vuelve a crear cada vez que se reinicia una instancia. Para evitar la pérdida de permisos de usuario, Cloud SQL proporciona permisos al usuario sqlserver
después de reiniciar una instancia.
Información general
El sqlserver
usuario
tiene el permiso ALTER para gestionar las opciones de la base de datos tempdb.
Para obtener más información sobre cómo gestionar este recurso, consulta la página de la base de datos tempdb.
Gestionar archivos tempdb
Después de conectarte a una instancia, el usuario sqlserver
puede gestionar los archivos tempdb.
Número de archivos
El usuario tiene permiso ALTER en la base de datos tempdb, lo que le permite controlar los ajustes del número de archivos y más. Estas son algunas operaciones de ejemplo:
ALTER DATABASE [tempdb] ADD FILE
ALTER DATABASE [tempdb] REMOVE
Tamaño del archivo
En las siguientes secciones se describen los métodos que se usan para controlar el tamaño de los archivos de la base de datos tempdb
.
Para obtener más información sobre estos métodos, consulta el artículo Reducir la base de datos tempdb.
Cambiar los tamaños de archivo en tempdb
Para controlar el tamaño de los archivos de la base de datos tempdb, usa la instrucción ALTER DATABASE
. Para obtener más información, consulta ALTER DATABASE (Transact-SQL) File and Filegroup Options (Opciones de archivo y de grupo de archivos de ALTER DATABASE [Transact-SQL]).
Reducir el tamaño de un archivo concreto
msdb.dbo.gcloudsql_tempdb_shrinkfile
es un procedimiento almacenado
que puedes usar para reducir el tamaño de un archivo concreto de la base de datos tempdb
.
Este procedimiento almacenado ofrece las mismas ventajas que el comando
DBCC SHRINKFILE
.
A continuación, se muestran ejemplos de uso del procedimiento almacenado msdb.dbo.gcloudsql_tempdb_shrinkfile
y sus parámetros, ejecutados desde Cloud SQL Studio:
Opción predeterminada
msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME'
Donde:
- FILENAME: el nombre del archivo que se va a reducir. Por ejemplo,
tempdev
.
Este comando ejecuta los siguientes comandos de SQL Server:
USE tempdb
DBCC SHRINKFILE (@filename)
- FILENAME: el nombre del archivo que se va a reducir. Por ejemplo,
EMPTYFILE
msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @empty_file=EMPTY_FILE_INT
Donde:
- EMPTY_FILE_INT: un valor entero que puede ser 0 o 1. Si es 1, se envía
EMPTYFILE
como opción. Esta opción tiene prioridad sobre otros parámetros.
Este comando ejecuta los siguientes comandos de SQL Server:
USE tempdb
DBCC SHRINKFILE (@filename, EMPTYFILE)
- EMPTY_FILE_INT: un valor entero que puede ser 0 o 1. Si es 1, se envía
Tamaño de destino
msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=TARGET_SIZE_INT
Donde:
- TARGET_SIZE_INT: un número entero que representa el tamaño objetivo del archivo en megabytes. Transfiere al comando
DBCC SHRINKFILE
cualquier valor que sea mayor o igual que cero. Por ejemplo,10
.
Este comando ejecuta los siguientes comandos de SQL Server. El número entero 10 se incluye como ejemplo:
USE tempdb
DBCC SHRINKFILE (@filename, 10)
- TARGET_SIZE_INT: un número entero que representa el tamaño objetivo del archivo en megabytes. Transfiere al comando
Solo tamaño de destino y truncar
msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=10, @truncateonly=TRUNCATE_ONLY_INT
Donde:
- TRUNCATE_ONLY_INT: acepta un valor entero de 0 o 1.
Si se le asigna el valor 1,
TRUNCATEONLY
se transfiere como opción. El tamaño objetivo se ignora si se pasaTRUNCATEONLY
. Esta opción tiene prioridad sobreNOTRUNCATE
.
Este comando ejecuta los siguientes comandos de SQL Server:
USE tempdb
DBCC SHRINKFILE (@filename, 10, TRUNCATEONLY)
- TRUNCATE_ONLY_INT: acepta un valor entero de 0 o 1.
Si se le asigna el valor 1,
Tamaño objetivo y opción de no truncar
msdb.dbo.gcloudsql_tempdb_shrinkfile @filename = 'FILENAME', @target_size=10, @no_truncate=NO_TRUNCATE_INT
Donde:
- NO_TRUNCATE_INT: acepta un valor entero de 0 o 1.
Si se le asigna el valor 1,
NOTRUNCATE
se transfiere como opción.
Este comando ejecuta los siguientes comandos de SQL Server:
USE tempdb
DBCC SHRINKFILE (@filename, 10, NOTRUNCATE)
- NO_TRUNCATE_INT: acepta un valor entero de 0 o 1.
Si se le asigna el valor 1,
Siguientes pasos
- Consulta información sobre la configuración de instancias.
- Consulta información sobre la monitorización de instancias de Cloud SQL.