Configurar base de datos No Transaccional

29/06/2006 - 17:06 por Juan Ant. | Informe spam
¿Sabéis si es posible configurar el servidor Sql Server 2000 como no
transaccional? Es decir, deshabilitar el uso de transacciones, de modo
que aunque ejecutes un proceso que intente emplear transacciones, en
realidad ese proceso no se ejecute en transacción.

Gracias

Preguntas similare

Leer las respuestas

#1 Jorge Gonzalez
29/06/2006 - 18:31 | Informe spam
Estimado Juan Ant.

Eso que deseas no es posible porque atenta contra lo que es considerado la
característica base de un RDBMS. SQL Server es por naturaleza transaccional.
Cada instrucción en sí misma es una transacción, sin embargo te recomiendo
leer sobre la opción llamada Implicit_Transactions en los BOL, quizás eso
aplique a los que deseas hacer

Pero si nos dijeras qué pretendés "deshabilitando" las transacciones quizás
te podamos ayudar mejor.

Saludos

Jorge González

"Juan Ant." escribió en el mensaje
news:
¿Sabéis si es posible configurar el servidor Sql Server 2000 como no
transaccional? Es decir, deshabilitar el uso de transacciones, de modo
que aunque ejecutes un proceso que intente emplear transacciones, en
realidad ese proceso no se ejecute en transacción.

Gracias
Respuesta Responder a este mensaje
#2 Juan Ant.
29/06/2006 - 23:35 | Informe spam
Gracias por tu respuesta Jorge. Te cuento:

Resulta que hay un proceso en mi empresa que tarda muchísimo tiempo.
El equipo encargado de esa tarea ha realizado diversas pruebas, no sé
muy bien en qué han consistido porque no es exactamente mi tarea, pero
sé que están trabajando en ello. Una de las pruebas que quieren
hacer, es deshabilitar las transacciones del proceso, para ver cómo se
comportaría tras ese cambio. Como el proceso es bastante complejo,
piensan que es más sencillo deshabilitar las transacciones a nivel de
servidor que ponerse a modificar los programas que las inician. Me
comentan que en Informix (también muy utilizada en la empresa) sí es
posible configurar la base de datos en modo no transaccional, de modo
que piensan que en Sql Server quizá también sería posible. ¿Me
explico?

Gracias de nuevo!

Jorge Gonzalez ha escrito:

Estimado Juan Ant.

Eso que deseas no es posible porque atenta contra lo que es considerado la
característica base de un RDBMS. SQL Server es por naturaleza transaccional.
Cada instrucción en sí misma es una transacción, sin embargo te recomiendo
leer sobre la opción llamada Implicit_Transactions en los BOL, quizás eso
aplique a los que deseas hacer

Pero si nos dijeras qué pretendés "deshabilitando" las transacciones quizás
te podamos ayudar mejor.

Saludos

Jorge González

"Juan Ant." escribió en el mensaje
news:
¿Sabéis si es posible configurar el servidor Sql Server 2000 como no
transaccional? Es decir, deshabilitar el uso de transacciones, de modo
que aunque ejecutes un proceso que intente emplear transacciones, en
realidad ese proceso no se ejecute en transacción.

Gracias
Respuesta Responder a este mensaje
#3 Jorge Gonzalez
30/06/2006 - 01:00 | Informe spam
La discución sobre si Informix es o no un Manejador de base de datos robusto
es candente. Hay aferrimos defensores de que sí lo es y hay aferrimos
detractores de la misma opinión.

El punto es que al final SQL Server no puede deshabilitar las transacciones
( al menos hasta donde yo conozco ) debido a su naturaleza de RDBMS. Es más
probable que el diseño de las tablas y los algoritmos empleados para
accederlas sean los que tienen un diseño no óptimo. En tal caso tanto en
informix como en SQL Server será lento, aunque probablemente sea más rápido
en Informix ya que su formato de archivo sacrifica robustés para ganar
velocidad.
Sin embargo no sería un trabajo tan pesado, en mi opinión, realizar un
análisis para descubrir donde el proceso tarda y las razones de por qué lo
hace. Sin meterte a diseño de estructuras de datos y una vez que se descubra
las causas, es posible planificar una solución que podría ir desde la
creación de los índices indicados (una buena estrategia de índices es la
diferencia entre el cielo y el infierno) y particionar tu base de datos en
varios discos duros para aprovechar mejor la entrada salida que suele ser
uno de los cuellos de botella más comunes. Lo más adecuado al final sería
estudiar los cuellos de botella en el proceso y proceder a redefinir
cualquier práctica dudosa en la definición de los datos. Yo en lo particular
ando peleando en este momento con una llave primaria de dos columnas VARCHAR
(25) que se propaga en la mitad de mis tablas, imaginate !!!

De todos modos Juan, yo he tratado con gente difícil que de pronto no quiere
hacer su trabajo (no estoy diciendo que este sea tu caso) y pues... ni modo.
Hay que buscar lo más práctico.

Te deseo suerte, y te comento nuevamente que sin un esfuerzo tan grande( te
hablo de horas probablemente y no días) se puede determinar donde están los
cuellos de botella del proceso y buscar una solución temporal que sea
práctica

Saludos

"Juan Ant." escribió en el mensaje
news:
Gracias por tu respuesta Jorge. Te cuento:

Resulta que hay un proceso en mi empresa que tarda muchísimo tiempo.
El equipo encargado de esa tarea ha realizado diversas pruebas, no sé
muy bien en qué han consistido porque no es exactamente mi tarea, pero
sé que están trabajando en ello. Una de las pruebas que quieren
hacer, es deshabilitar las transacciones del proceso, para ver cómo se
comportaría tras ese cambio. Como el proceso es bastante complejo,
piensan que es más sencillo deshabilitar las transacciones a nivel de
servidor que ponerse a modificar los programas que las inician. Me
comentan que en Informix (también muy utilizada en la empresa) sí es
posible configurar la base de datos en modo no transaccional, de modo
que piensan que en Sql Server quizá también sería posible. ¿Me
explico?

Gracias de nuevo!

Jorge Gonzalez ha escrito:

Estimado Juan Ant.

Eso que deseas no es posible porque atenta contra lo que es considerado la
característica base de un RDBMS. SQL Server es por naturaleza
transaccional.
Cada instrucción en sí misma es una transacción, sin embargo te recomiendo
leer sobre la opción llamada Implicit_Transactions en los BOL, quizás eso
aplique a los que deseas hacer

Pero si nos dijeras qué pretendés "deshabilitando" las transacciones
quizás
te podamos ayudar mejor.

Saludos

Jorge González

"Juan Ant." escribió en el mensaje
news:
¿Sabéis si es posible configurar el servidor Sql Server 2000 como no
transaccional? Es decir, deshabilitar el uso de transacciones, de modo
que aunque ejecutes un proceso que intente emplear transacciones, en
realidad ese proceso no se ejecute en transacción.

Gracias
Respuesta Responder a este mensaje
#4 Juan Ant.
05/07/2006 - 15:48 | Informe spam
Gracias Jorge.

Bueno, está claro que lo que hay que hacer es destripar el proceso y
ver dónde está el cuello de botella. Esa tarea, será bastante larga,
porque es un proceso larguísimo, que consta de muchos pasos.
Simplemente se pretendía hacer una prueba previa, por ver cuánto
afecta el uso de transacciones al proceso.

En cualquier caso, estoy acuerdo en lo que me dices, y procuraremos
buscar una solución práctica.

Gracias!

Jorge Gonzalez wrote:
La discución sobre si Informix es o no un Manejador de base de datos robusto
es candente. Hay aferrimos defensores de que sí lo es y hay aferrimos
detractores de la misma opinión.

El punto es que al final SQL Server no puede deshabilitar las transacciones
( al menos hasta donde yo conozco ) debido a su naturaleza de RDBMS. Es más
probable que el diseño de las tablas y los algoritmos empleados para
accederlas sean los que tienen un diseño no óptimo. En tal caso tanto en
informix como en SQL Server será lento, aunque probablemente sea más rápido
en Informix ya que su formato de archivo sacrifica robustés para ganar
velocidad.
Sin embargo no sería un trabajo tan pesado, en mi opinión, realizar un
análisis para descubrir donde el proceso tarda y las razones de por qué lo
hace. Sin meterte a diseño de estructuras de datos y una vez que se descubra
las causas, es posible planificar una solución que podría ir desde la
creación de los índices indicados (una buena estrategia de índices es la
diferencia entre el cielo y el infierno) y particionar tu base de datos en
varios discos duros para aprovechar mejor la entrada salida que suele ser
uno de los cuellos de botella más comunes. Lo más adecuado al final sería
estudiar los cuellos de botella en el proceso y proceder a redefinir
cualquier práctica dudosa en la definición de los datos. Yo en lo particular
ando peleando en este momento con una llave primaria de dos columnas VARCHAR
(25) que se propaga en la mitad de mis tablas, imaginate !!!

De todos modos Juan, yo he tratado con gente difícil que de pronto no quiere
hacer su trabajo (no estoy diciendo que este sea tu caso) y pues... ni modo.
Hay que buscar lo más práctico.

Te deseo suerte, y te comento nuevamente que sin un esfuerzo tan grande( te
hablo de horas probablemente y no días) se puede determinar donde están los
cuellos de botella del proceso y buscar una solución temporal que sea
práctica

Saludos

"Juan Ant." escribió en el mensaje
news:
Gracias por tu respuesta Jorge. Te cuento:

Resulta que hay un proceso en mi empresa que tarda muchísimo tiempo.
El equipo encargado de esa tarea ha realizado diversas pruebas, no sé
muy bien en qué han consistido porque no es exactamente mi tarea, pero
sé que están trabajando en ello. Una de las pruebas que quieren
hacer, es deshabilitar las transacciones del proceso, para ver cómo se
comportaría tras ese cambio. Como el proceso es bastante complejo,
piensan que es más sencillo deshabilitar las transacciones a nivel de
servidor que ponerse a modificar los programas que las inician. Me
comentan que en Informix (también muy utilizada en la empresa) sí es
posible configurar la base de datos en modo no transaccional, de modo
que piensan que en Sql Server quizá también sería posible. ¿Me
explico?

Gracias de nuevo!

Jorge Gonzalez ha escrito:

> Estimado Juan Ant.
>
> Eso que deseas no es posible porque atenta contra lo que es considerado la
> característica base de un RDBMS. SQL Server es por naturaleza
> transaccional.
> Cada instrucción en sí misma es una transacción, sin embargo te recomiendo
> leer sobre la opción llamada Implicit_Transactions en los BOL, quizás eso
> aplique a los que deseas hacer
>
> Pero si nos dijeras qué pretendés "deshabilitando" las transacciones
> quizás
> te podamos ayudar mejor.
>
> Saludos
>
> Jorge González
>
> "Juan Ant." escribió en el mensaje
> news:
> ¿Sabéis si es posible configurar el servidor Sql Server 2000 como no
> transaccional? Es decir, deshabilitar el uso de transacciones, de modo
> que aunque ejecutes un proceso que intente emplear transacciones, en
> realidad ese proceso no se ejecute en transacción.
>
> Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida