e8d soluciones Skip Navigation Links

Soluciones

AUTOCOMMIT EN SQL SERVER

En este artículo, exploraremos un enfoque técnico para deshabilitar la función de autocommit en una base de datos. Esta configuración nos permitirá tener un mayor control sobre los cambios realizados, ya que podremos visualizar el estado de la base de datos antes de confirmar las modificaciones. Además, aprenderemos cómo revertir los cambios en caso de no estar satisfechos con el resultado obtenido. Si alguna vez has borrado accidentalmente algo importante y deseas evitarlo en el futuro, este artículo te proporcionará las herramientas necesarias para hacerlo de manera efectiva.


Artículo: https://learn.microsoft.com/en-us/sql/t-sql/statements/set-implicit-transactions-transact-sql?view=sql-server-2017

  1. Verificamos si tenemos el autocommit activado utilizando el siguiente código:
  2. DECLARE
        @IMPLICIT_TRANSACTIONS NVARCHAR(3)
    
    SET @IMPLICIT_TRANSACTIONS = IIF((2 & @@OPTIONS) = 2, 'ON', 'OFF')
    
    SELECT @IMPLICIT_TRANSACTIONS AS [IMPLICIT_TRANSACTIONS]
      
  3. Si el resultado de la query es "OFF”, es que lo tenemos deshabilitado.
  4. #

  5. Para activarlo nos dirigimos a "Tools (Herramientas)" > "Options… (Opciones…)"
  6. #

  7. Una vez dentro de "Options… (Opciones…)" nos aparecerá esta pantalla:
  8. #

  9. Nos dirigimos a "Query Executions (Ejecución de sentencias)" > "SQL Server" > "ANSI"
  10. #

  11. Dentro, tenemos la opción "SET IMPLICIT_TRANSACTIONS", debemos marcar esa casilla.
  12. #

  13. Reiniciamos SQL Server Management Studio.
  14. Al iniciar de nuevo SQL Server Management Studio, ejecutamos la sentencia nuevamente. Esta vez debería poner "ON".
  15. #

  16. Para probar su funcionamiento, eliminamos un registro de una tabla. (un ejemplo creado a partir de una tabla nueva)


    1. Borraremos los registros de la siguiente tabla [dbo].[tPruebasImplicitTransaction].
    2. #

    3. Ejecutamos el DELETE.
    4. #

    5. Verificamos que se ha borrado el registro.
    6. #

    7. Se ha borrado, pero no se ha realizado el "COMMIT", por lo que podemos ejecutar "ROLLBACK" para recuperar lo que hemos borrado.
    8. #

    9. Comprobamos que se han deshecho todos los cambios.
    10. #

    11. Si intentas cerrar la pestaña actual (en la que has realizado las consultas), te muestra un mensaje de alerta advirtiéndote de que se ha realizado un commit y si los quieres realizar o no.
    12. #

    13. La forma correcta de hacer commit de los cambios realizados y para que no te salte el mensaje, es poner COMMIT al final de la sentencia o sentencias que deseas ejecutar
    14. #


Mapa del sitio

HOME

EMPRESA

SERVICIOS

DATOS DISPONIBLES

TRATAMIENTO DE DATOS

GEOGRÁFICOS

ANÁLISIS ESTADÍSTICO DE DATOS

BUSINESS INTELLIGENCE

AUDITORÍA INFORMÁTICA

CONTACTO


Contacto

telefono e8d        91 355 29 30

telefono e8d       Ctra. Villaverde Vallecas Km 3.5 (C.T.M.-Oficina 801A)

email e8d info@e8dsoluciones.es



Política de privacidad

Política de calidad y medio ambiente

Política de cookies