Inicio > Base de datos > Base de datos contiene transacciones diferidas

Base de datos contiene transacciones diferidas

miércoles, 28 de febrero de 2024 Dejar un comentario Ir a comentarios

Te ha sucedió que estas realizando algún proceso sobre una base de datos y por circunstancias casuales el servidor termina reiniciándose. Todo está normal hasta que te das cuenta que tu base de datos sigue por un buen tiempo en el estado «en recuperación», y cuando intentas realizar cualquier operación ocurren bloqueos o bien te arroja el siguiente error:

Check statement aborted.  Database contains deferred transactions.

¿Qué podemos hacer para solucionar este problema?

  • Lo primero es tratar de evitar que los usuarios finales comiencen a generar transacciones sobre la base de datos afectada.
  • Luego verificamos que el espacio en disco sea lo suficiente para que crezca la base de datos dbtemp.
  • Después hay que poner el servidor o bien la base de datos en modo «usuario único». En este ejemplo vamos a cambiar la base de datos en modo «usuario único», entonces podemos usar:
    ALTER DATABASE [DIRTEPOL] SET SINGLE_USER WITH NO_WAIT
    

    o

    EXEC sp_dboption 'Dirtepol', 'single user', 'true'
    
  • Ahora que ya podemos trabajar sobre la base de datos, es necesario verificarla para solucionar el problema de las transacciones que no terminaron de procesarse con rollback, y utilizamos el siguiente script:
    USE DIRTEPOL
    GO
    DBCC CHECKDB
    
  • Por último restablecemos el modo a «multi usuario», y ejecutamos el siguiente script:
    ALTER DATABASE [DIRTEPOL] SET MULTI_USER WITH NO_WAIT
    

    o

    EXEC sp_dboption 'Diterpol', 'single user', 'false'
    

Este es un procedimiento básico pero efectivo para Sql Server 2008. Espero les sea de utilidad.

Comparte y diviertete:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • BarraPunto
  • Bitacoras.com
  • BlinkList
  • Blogosphere
  • Live
  • Meneame
  • MSN Reporter
  • MySpace
  • RSS
  • Suggest to Techmeme via Twitter
  • Technorati
  • LinkedIn
  • email
  • FriendFeed
  • PDF
  • Reddit
  • Wikio IT
  • Add to favorites
  • blogmarks
Top Footer