Gestionar una base de datos tempdb

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:

  1. 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)
  2. 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)
  3. 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)
  4. 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 pasa TRUNCATEONLY. Esta opción tiene prioridad sobre NOTRUNCATE.

    Este comando ejecuta los siguientes comandos de SQL Server:

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

Siguientes pasos