“Conocimiento software>SQL Server

¿Qué es el bloqueo de pestañas en SQLServer?

2013/12/27
No hay una característica llamada explícitamente "Bloqueo de pestañas" en SQL Server. Los mecanismos de bloqueo de SQL Server son más matizados que un simple "bloqueo de pestañas". En lo que podría estar pensando o a lo que alguien podría referirse coloquialmente como un "bloqueo de pestañas", probablemente se refiere a uno de estos escenarios:

* Bloqueo de nivel de tabla: Este es el servidor SQL más cercano llega a un "bloqueo de pestañas". En ciertas situaciones, SQL Server puede adquirir un bloqueo (s) o exclusivo (x) compartido en el nivel de la tabla. Esto significa que toda la tabla está bloqueada, evitando que cualquier otra operación concurrente modifique o incluso lea (dependiendo del tipo de bloqueo) la tabla hasta que se libere el bloqueo. Esto a menudo sucede con consultas mal diseñadas o bajo alta contención. No es una configuración deliberada que elija; Es una consecuencia del plan de acceso de la consulta y el nivel de aislamiento elegido.

* malentendido del bloqueo de nivel de fila: SQL Server utiliza principalmente el bloqueo de nivel de fila. Esto significa que solo las filas específicas que se están modificando están bloqueadas, lo que permite a otros usuarios acceder simultáneamente y modificar otras filas en la misma tabla. Sin embargo, si muchas filas se actualizan simultáneamente, el sistema aún podría experimentar la degradación del rendimiento a pesar de que no es un "bloqueo de pestañas" completo.

* Bloqueos de modificación del esquema: Cuando altera la estructura de una tabla (agregando, modificando o eliminando columnas, agregando índices, etc.), SQL Server coloca bloqueos para evitar la modificación concurrente del esquema de la tabla. Estos se aplican implícitamente y son típicamente de corta duración.

Por qué rara vez ve "bloqueos de pestañas" reales en un entorno moderno de servidor SQL:

* Implicaciones de rendimiento: Los bloqueos a nivel de tabla restringen severamente la concurrencia y pueden conducir a cuellos de botella de rendimiento significativos. Son muy indeseables en la mayoría de los escenarios.

* Optimización de bloqueo de nivel de fila: El optimizador de consultas de SQL Server se esfuerza por usar el bloqueo de nivel de fila siempre que sea posible para maximizar la concurrencia.

* Niveles de aislamiento: El nivel de aislamiento elegido (lea no comprometido, lectura comprometida, lectura repetible, serializable) influye en cómo se adquieren y sostienen los bloqueos, lo que afecta aún más la probabilidad de bloqueo a nivel de mesa.

En resumen: Si bien el término "bloqueo de pestañas" no es técnicamente preciso para SQL Server, se usa informalmente para describir situaciones en las que toda la tabla está bloqueada debido a la ejecución de consultas o modificaciones de esquema. Esto suele ser un síntoma de un problema en lugar de una característica intencional. Si se encuentra con problemas de rendimiento que aparecen como un "bloqueo de pestañas", investigue sus consultas, la indexación y los niveles de aislamiento para comprender y optimizar el modelo de concurrencia de su base de datos. Analizar las esperas de bloqueo utilizando herramientas como `sp_whoisactive` o SQL Server Profiler ayudará a diagnosticar la causa raíz.

SQL Server
Cómo utilizar el tipo de datos timestamp de SQL Server Express
¿Cuál es la diferencia entre una base de datos y un servidor?
El servidor 2008 tipos de índices de SQL
Cómo determinar si una tabla temporal existe en SQL Server
¿Cómo puedo exportar de un Informe de SQL Server como un archivo CSV
Requisitos de memoria de SQL Server 2008
Cómo cambiar los metadatos en un SSIS SQL Server 2005
¿Hay alguna oportunidad de trabajo para alguien familiarizado con Oracle?
Conocimiento de la computadora © http://www.ordenador.online