VENTAS: 1-800-867-1389

Límites de recursos de Base de datos SQL de Azure

Actualizado: junio de 2014

Base de datos SQL de Azure supervisa el uso de los recursos compartidos (registro de transacciones, E/S, etc.) para conservar las bases de datos dentro de los límites de recursos establecidos. Este umbral de recursos es su límite de recursos y, cuando el uso de recursos por parte de los clientes lo excede, ya sea en el nivel de un nodo físico o de un inquilino, Base de datos SQL de Azure responde administrando el uso de los recursos, lo que resulta en la pérdida de la conexión o en denegaciones de solicitud.

La tabla siguiente proporciona un resumen de los límites de cada recurso más allá de los que Base de datos SQL de Azure deniega la solicitud o termina las conexiones con el recurso afectado y se devuelve un código de error.

ImportantImportante
A veces, se devuelve el mismo código de error para varias condiciones de limitación de un recurso. Estas condiciones se identifican como estados en el mensaje de error. Por ejemplo, se muestran los siguientes mensajes de error para el recurso Longitud de registro de transacciones, cada una con el mismo mensaje o código de error pero diferentes valores de Estado según las distintas condiciones de limitación:

Msg 40552, Level 17, State 1, Line 1
The session has been terminated because of excessive transaction log space usage.
Try modifying fewer rows in a single transaction.

-----------------------------------------------------------

Msg 40552, Level 17, State 2, Line 1
The session has been terminated because of excessive transaction log space usage.
Try modifying fewer rows in a single transaction.

La tabla siguiente y la descripción contienen por tanto los límites y la descripción de cada estado en tales códigos de error. Haga clic en el nombre de recurso en la tabla para saltar a la respectiva descripción más adelante en este tema.

 

Recurso Límite Código de error devuelto

Tamaño de base de datos

150 GB o menos según la cuota de base de datos (MAXSIZE)

40544

Duración de la transacción

Estado 1: 24 horas

Estado 2: 20 segundos si una transacción bloquea un recurso requerido por una tarea del sistema subyacente

40549

Contador de bloqueos de transacción

1 millón de bloqueos por transacción

40550

Tempdb

Estado 1: 5 GB de espacio de tempdb

Estado 2: 2 GB por transacción en tempdb

Estado 3: 20 % de espacio total de registro en tempdb

40551

Longitud del registro de transacciones

Estado 1: 2 GB por transacción

Estado 2: 20 % de espacio total de registro

40552

Uso de memoria

16 MB de memoria concedida durante más de 20 segundos

40553

 

Mecanismo de pérdida de conexión o denegación de solicitud Código de error devuelto Límite Tipo de solicitudes denegadas Recomendación

Cuando el espacio de la base de datos asignado a la base de datos de usuario está lleno, el usuario obtiene un error que indica que la base de datos está llena.

40544: la base de datos ha alcanzado su cuota de tamaño. Cree particiones o elimine datos, quite índices o consulte la documentación para obtener soluciones posibles.

150 GB o menos según la cuota de base de datos (MAXSIZE)

DML de no selección (inserción, actualización o mezcla que inserta o actualiza).

Use las instrucciones DELETE/DROP para quitar los datos de la base de datos hasta que el tamaño de esta esté por debajo del límite.

Volver al principio

 

Mecanismo de pérdida de conexión o denegación de solicitud Código de error devuelto Límite Tipo de solicitudes denegadas Recomendación

La solicitud de transacciones se bloquea en los recursos como filas, páginas o tablas en los que la transacción es dependiente y libera los bloqueos después cuando ya no tienen una dependencia de los recursos bloqueados. Su solicitud puede denegarse debido a alguna de las dos condiciones siguientes:

  • Estado 1: si una transacción se ha ejecutado durante más de 24 horas, se termina.

  • Estado 2: si una transacción bloquea un recurso requerido por una tarea del sistema subyacente durante más de 20 segundos, se termina.

40549: la sesión se terminó porque tiene una transacción de larga duración. Intente reducir la transacción.

Estado 1: 24 horas

Estado 2: 20 segundos si una transacción bloquea un recurso requerido por una tarea del sistema subyacente

Cualquier transacción que lleve ejecutándose más de 24 horas o alguna instrucción DDL o DML que adopte un bloqueo, lo que resulta en el bloqueo de una tarea del sistema.

Las operaciones con Base de datos SQL no deben bloquear la entrada del usuario ni tener otras dependencias que provoquen transacciones de larga duración.

Volver al principio

 

Mecanismo de pérdida de conexión o denegación de solicitud Código de error devuelto Límite Tipo de solicitudes denegadas Recomendación

Las sesiones que usan más de un millón de bloqueos se terminan.

40550: la sesión ha terminado porque ha adquirido demasiados bloqueos. Intente leer o modificar menos filas en una sola transacción.

1 millón de bloqueos por transacción

Cualquier instrucción DDL o DML.

Las siguientes DMV pueden usarse para supervisar las transacciones:

  • sys.dm_tran_active_transactions

  • sys.dm_tran_database_transactions

  • sys.dm_tran_locks

  • sys.dm_tran_session_transactions

Según el tipo de aplicación, puede que se usen sugerencias de bloqueo general, como PAGLOCK o TABLOCK, a fin de reducir el número de bloqueos adoptados en una transacción o instrucción dadas. Observe que esto puede afectar desfavorablemente a la simultaneidad de las aplicaciones.

Volver al principio

 

Mecanismo de pérdida de conexión o denegación de solicitud Código de error devuelto Límite Tipo de solicitudes denegadas Recomendación

Su solicitud en tempdb puede denegarse debido a alguna de las tres condiciones siguientes:

  • Estado 1: cuando una sesión usa más de 5 GB de espacio de tempdb, la sesión se termina.

  • Estado 2: las transacciones en tempdb con registros de más de 2 GB de tamaño se truncan. Algunas operaciones de ejemplo que pueden usar espacio de registro en tempdb son la inserción, la actualización, la eliminación, la mezcla y la creación de índice.

  • Estado 3: las transacciones sin confirmar en tempdb pueden bloquear el truncamiento de los archivos de registro. Para impedirlo, la distancia del número de secuencia de registro (LSN) más antiguo de la transacción activa a la cola del registro (LSN actual) en tempdb no puede exceder el 20 % del tamaño del archivo de registro. Cuando se infringe esto, la transacción culpable en tempdb se termina y se revierte de modo que el registro pueda truncarse.

40551: la sesión ha terminado debido al uso excesivo de tempdb. Intente modificar la consulta para reducir el uso de espacio de la tabla temporal.

Estado 1: 5 GB de espacio de tempdb

Estado 2: 2 GB por transacción en tempdb

Estado 3: 20 % de espacio total de registro en tempdb

Cualquier instrucción DDL o DML en tempdb.

Modifique las consultas para reducir el uso de espacio en las tablas temporales, quite objetos temporales que ya no se necesiten, trunque tablas o quite las que no se usen.

Reduzca el tamaño de los datos de la transacción en tempdb reduciendo el número de filas o dividiendo la operación en varias transacciones.

Volver al principio

 

Mecanismo de pérdida de conexión o denegación de solicitud Código de error devuelto Límite Tipo de solicitudes denegadas Recomendación

Su solicitud podría denegarse debido a alguna de las dos condiciones siguientes:

  • Estado 1: Base de datos SQL admite transacciones que generan un registro de hasta 2 GB de tamaño. Las transacciones con registros más allá de esta limitación se truncan. Algunas operaciones de ejemplo que pueden usar espacio de registro en este volumen son la inserción, la actualización, la eliminación, la mezcla y la creación de índice.

  • Estado 2: las transacciones sin confirmar pueden bloquear el truncamiento de los archivos de registro. Para impedirlo, la distancia del número de secuencia de registro (LSN) más antiguo de la transacción activa a la cola del registro (LSN actual) no puede exceder el 20 % del tamaño del archivo de registro. Cuando se infringe esto, la transacción culpable se termina y se revierte de modo que el registro pueda truncarse.

40552: la sesión ha terminado debido al excesivo uso de espacio del registro de transacciones. Intente modificar menos filas en una sola transacción.

Estado 1: 2 GB por transacción

Estado 2: 20 % de espacio total de registro

Cualquier instrucción DDL o DML.

Para las operaciones de fila, reduzca el tamaño de los datos de la transacción, por ejemplo reduciendo el número de filas o dividiendo la operación en varias transacciones.

Para las operaciones de tabla o índice que requieren una sola transacción, asegúrese de que se adhieren a la siguiente fórmula: número de filas afectadas en la tabla * (tamaño promedio del campo que se actualiza en bytes + 80) < 2 GB(En caso de la recompilación del índice, el tamaño promedio del campo que se actualiza debe sustituirse por el tamaño promedio del índice).

Volver al principio

 

Mecanismo de pérdida de conexión o denegación de solicitud Código de error devuelto Límite Tipo de solicitudes denegadas Recomendación

Cuando hay sesiones en espera de concesiones de memoria durante 20 segundos o más, las sesiones que usan más de 16 MB de memoria concedida durante más de 20 segundos se terminan en orden descendiente del tiempo que el recurso lleva concedido, de modo que la sesión más antigua se termina primero. La terminación de las sesiones se detiene en cuanto la memoria requerida está disponible.

40553: la sesión se ha terminado debido al uso excesivo de la memoria. Intente modificar la consulta para procesar menos filas.

Más de 16 MB de memoria concedida durante más de 20 segundos.

Las consultas que usan concesiones de memoria, lo que incluye a las que usan combinaciones hash y clasificaciones.

Realice un ajuste en las consultas que requieran combinaciones hash y/o clasificaciones.

Volver al principio

Vea también

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios
Mostrar:
© 2014 Microsoft