Académique Documents
Professionnel Documents
Culture Documents
Con esto se detecta el proceso que esta bloqueando la base de datos, se mata el
proceso a nivel de sistema operativo.
SEGUIMIENTO A LAS TRANSACCIONES
La base de datos genera logs de auditoria y de traza, en donde quedan registrada
las acciones que afectan o usan la base de datos, estos logs se adjuntan en el
directorio de la base de datos, lo que le permite al administrador tener idea y
seguimiento del funcionamiento.
SQL Server utiliza mecanismos como los bloqueos para aislar las conexiones unas
de otras y que al final, idealmente, todo hubiera ocurrido como si todas las
operaciones se hubieran producido una detrás de otra. Los bloqueos impiden que
se produzcan los conflictos, pero impiden también que se puedan ejecutar varias
operaciones al mismo tiempo desde distintas conexiones (disminuyen la
concurrencia). La cantidad y fuerza y duración de los bloqueos está en función del
nivel de aislamiento de las transacciones. Cuanto más aislamiento, más bloqueos,
más consistencia, pero menos concurrencia. En SQL Server hay varios niveles de
aislamiento: READ UNCOMMITED, READ COMMITED, READ COMMITED
SNAPSHOT, REPEATABLE READ, SERIALIZABLE y SNAPSHOT. Existen otros
mecanismos para controlar los conflictos de concurrencia, en vez de impedirlos a
priori, se detectan a posteriori, y cuando se detectan se deshace la transacción.
Esto se llama bloqueo optimista, no sé por qué se llama bloqueo, ya que no se
bloquea, pero sí sé por qué se llama optimista: porque se piensa que existe una
baja probabilidad de que se produzca un conflicto.