Amazon Relational Database Service
Guía del usuario (Versión de API 2014-10-31)

Acceso a la base de datos tempdb de las instancias de bases de datos de Microsoft SQL Server en Amazon RDS

Es posible obtener acceso a la base de datos tempdb de las instancias de bases de datos de Microsoft SQL Server en Amazon RDS. También es posible ejecutar código en tempdb mediante Transact-SQL a través de Microsoft SQL Server Management Studio (SSMS) o cualquier otra aplicación cliente estándar de SQL. Para obtener más información acerca de cómo conectarse a la instancia de base de datos, consulte Conexión de una instancia de base de datos que ejecuta el motor de base de datos de Microsoft SQL Server.

Al usuario maestro de la instancia de base de datos se le concede el acceso CONTROL a tempdb para que pueda modificar las opciones de la base de datos tempdb. El usuario maestro no es el propietario de la base de datos tempdb. Si es necesario, el usuario maestro puede conceder el acceso CONTROL a otros usuarios para que también puedan modificar las opciones de la base de datos tempdb.

nota

No es posible ejecutar comandos de consola de base de datos (DBCC) en la base de datos tempdb.

Modificación de las opciones de la base de datos tempdb

Es posible modificar las opciones de la base de datos tempdb de las instancias de bases de datos de Amazon RDS. Para obtener más información acerca de las opciones que se pueden modificar, consulte Base de datos tempdb en la documentación de Microsoft.

Las opciones de base de datos como las opciones de tamaño máximo de archivo son persistentes después de reiniciar la instancia de base de datos. Es posible modificar las opciones de base de datos para optimizar el desempeño al importar datos y para evitar que se quede sin almacenamiento.

Optimización del desempeño al importar datos

Para optimizar el desempeño al importar grandes cantidades de datos en la instancia de base de datos, asigne valores grandes a las propiedades SIZE y FILEGROWTH de la base de datos tempdb. Para obtener más información acerca de cómo optimizar tempdb, consulte Optimizar el rendimiento de tempdb en la documentación de Microsoft.

En el siguiente ejemplo se muestra cómo configurar un tamaño de 100 GB y un crecimiento de archivo del 10 por ciento.

alter database[tempdb] modify file (NAME = N'templog', SIZE=100GB, FILEGROWTH = 10%)

Cómo evitar problemas de almacenamiento

Para evitar que la base de datos tempdb utilice todo el espacio en disco disponible, establezca la propiedad MAXSIZE. En el siguiente ejemplo se muestra cómo establecer la propiedad en 2048 MB.

alter database [tempdb] modify file (NAME = N'templog', MAXSIZE = 2048MB)

Reducción del tamaño de la base de datos tempdb

Hay dos maneras de reducir el tamaño de la base de datos tempdb de una instancia de base de datos de Amazon RDS. Es posible utilizar el procedimiento rds_shrink_tempdbfile o bien establecer la propiedad SIZE.

Uso del procedimiento rds_shrink_tempdbfile

Puede utilizar el procedimiento msdb.dbo.rds_shrink_tempdbfile de Amazon RDS para reducir el tamaño de la base de datos tempdb. Solo se puede llamar a rds_shrink_tempdbfile si se tiene el acceso CONTROL a tempdb. Cuando se llama a rds_shrink_tempdbfile, no se produce tiempo de inactividad en la instancia de base de datos.

El procedimiento rds_shrink_tempdbfile tiene los siguientes parámetros.

Nombre del parámetro Tipo de datos Valor predeterminado Obligatorio Descripción

@temp_filename

SYSNAME

obligatorio

El nombre lógico del archivo cuyo tamaño se va a reducir.

@target_size

int

nulo

opcional

El tamaño nuevo del archivo, en megabytes.

En el siguiente ejemplo se obtienen los nombres de los archivos de la base de datos tempdb.

use tempdb; GO select name, * from sys.sysfiles; GO

En el siguiente ejemplo se reduce el tamaño de un archivo de base de datos tempdb denominado test_file y se solicita un tamaño nuevo de 10 megabytes:

exec msdb.dbo.rds_shrink_tempdbfile @temp_filename = N'test_file', @target_size = 10;

Configuración de la propiedad SIZE

También es posible reducir el tamaño de la base de datos tempdb estableciendo la propiedad SIZE y reiniciando la instancia de base de datos. Para obtener más información acerca de cómo reiniciar una instancia de base de datos, consulte Reinicio de una instancia de base de datos.

En el siguiente ejemplo se muestra cómo establecer la propiedad SIZE en 1024 MB.

alter database [tempdb] modify file (NAME = N'templog', SIZE = 1024MB)

Consideraciones para despliegues Multi-AZ

Si la instancia de base de datos de Amazon RDS está en una implementación Multi-AZ para Microsoft SQL Server con creación de reflejos de base de datos (DBM) o grupos de disponibilidad Always On, hay algunos aspectos que se deben tener en cuenta.

La base de datos tempdb no se puede replicar. No se replica en la instancia secundaria ningún dato almacenado en la instancia principal.

Si se modifica cualquier opción de base de datos en la base de datos tempdb, se pueden capturar los cambios en la instancia secundaria mediante uno de los siguientes métodos: