2011-10-31 25 views
15

Al leer cosas como esta post on Dan Guzman's blog, me pregunto: ¿por qué no es SET XACT_ABORT ON el comportamiento predeterminado? ¿Hay algún caso en que sea dañino o mucho menos deseable/eficiente que SET XACT_ABORT OFF?¿Por qué SET XACT_ABORT NO está en el comportamiento predeterminado?

+0

Es curioso, me encontré con información similar y tuve la misma pregunta: "¿Qué es lo que me estoy perdiendo? ¿Por qué querrías que fuera así?" –

+2

[Relacionado] (http://stackoverflow.com/q/1150032/73226) –

+0

Relacionado ... pero una pregunta muy diferente. – Daniel

Respuesta

10

Es una respuesta automática a un error, es más conveniente si puede manejar el error y recuperarse de él. Si la transacción se revierte automáticamente, no tendrá esta oportunidad.

El problema que Dan menciona en su blog surge debido al aborto del cliente, en SQL este aborto no existe. Por lo tanto, dentro de SQL el valor predeterminado es no cancelar automáticamente las transacciones.

+0

También vea [esta pregunta relacionada] (http://stackoverflow.com/questions/917773/do-i-really-need-to-use-set-xact-abort-on). –

Cuestiones relacionadas