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 FILEALTER 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 tempdbDBCC SHRINKFILE (@filename)
- FILENAME: el nombre del archivo que se va a reducir. Por ejemplo,
EMPTYFILEmsdb.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
EMPTYFILEcomo opción. Esta opción tiene prioridad sobre otros parámetros.
Este comando ejecuta los siguientes comandos de SQL Server:
USE tempdbDBCC 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 SHRINKFILEcualquier 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 tempdbDBCC 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,
TRUNCATEONLYse 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 tempdbDBCC 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,
NOTRUNCATEse transfiere como opción.
Este comando ejecuta los siguientes comandos de SQL Server:
USE tempdbDBCC 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.