Problemas con Base de Datos en internet

Hola, tengo una base de datos en SQL server 7 en internet y la acceso mediante ASP, en mi ASP tengo un archivo que hace la conexión el cual agrego en todas las páginas páginas, el problema es que había hecho una prueba para realizar transacciones y todo estaba bien, pero ahora marca un error, me dice que no puede hacer la transacción por el modo compartido o distribuido de la base de datos, y ahora la base de datos en el Enterprice me la pone con una manita a un lado, hace pocos días un compañero creo una replica de esa base de datos, y creí que era por eso, pero le quite la replica (por que necesite modificar el esquema y solo así me lo permitió), para ver si funcionaba pero tamopco, y después hice referencia a una base de datos de respaldo que tengo la cual no me marca con la "dichosa manita" y me aparece el mismo error, a que se debe esto o como debo hacer para que funcione las transacciones.

1 respuesta

Respuesta
1
Respecto al tema de la replicación y la mano: este icono indica que la BBDD está publicada para duplicación. Si dentro del menú de la duplicación/replicación vas al menú de Crear y Administrar publicaciones, seleccionas la que quieres eliminar y la eliminas desde ahí, verás que dice que la quita pero la mano sigue apareciendo. Para quitar la mano realmente, debes ir al menú de Propiedades del publicador y distribuidor y en la solapa de bases de datos de la publicación, te aparecerá una lista de las BBDD que tiene el servidor y las que estén marcadas, son aquellas que están publicadas para replicar por el publicador. Seguramente la tuya aparezca marcada. Desmárcala y acepta y la mano debiera debiera desaparecer.
Ojo, que deberás eliminar manualmente la información de suscripciones en los suscriptores.
Respecto a la BBDD de respaldo te aparecerá marcada para publicar, porque cuando hiciste la copia, ese era su estado.
Lo que no tengo tan claro es que esto tenga que ver con
El problema que tienes.
Pero vamos por partes, prueba a ver y me comentas.
¿La base de datos no estará en modo usuario único, no?
Hola, Muchísimas gracias si pude quitar la replica :o), pero el problema definitivamente no era ese :o(, le seguí moviendo al código y lo que pasa es que cuando entra a la página yo abrí el BeginTrans, después dentro del código pregunto por los parámetros de la querystring para saber si se le esta solicitando una Alta, Actualización o Baja, y dentro de esas secciones les daba el Commit o Rollback, al cambiar el BeginTrans dentro de la sección de Altas, ya funciono, esto en una página donde solo hacia altas, pero en la que realiza las tres funciones ABC declaro el begintrans dentro de la alta y al ejecutar el comando el Rollback o commit y todo bien, en la segunda de Bajas hago lo mismo su begintrans y Rolltrans/Commit y falla ahora me aparece esto:
ITransaction::Commit or ITransaction::Abort was called, and object is in a zombie state
,pense que tal vez no podia hacerlo dos veces y quite la primer transaccion pero no funciono, solo marca al darle el RollBack o Commit no se a que se refiere con que una transaccion esta en estado Zombie, ahora lo del modo de la base de datos no se donde puedo chekarlo, y esque esta BD ya la habian creado cuando llegue, podrias decirme donde le puedo chekar eso.
Listo, ya resolví el problema :o), lo que pasa es que al ejecutar la Query se la cargaba a un recordset, hay le daba el roll o commit, pero después más adelante usaba el recordset para cargar el resultado en una matriz y cuando hacia ese llamado es cuando aparecía el error, lo que hice fue hacer el rollback o commit después de hacer ese traspaso a la maris, pero no se porque marcaba error si el objeto recordset nunca lo liberaba, pero en fin ya funciono. De todas maneras gracias por la ayuda sobre las replicas, al enterprice le muevo poco pero hay voy aprendiendo cosas nuevas y esa fue de gran ayuda... muchas gracias.
Me alegro de que lo hayas solucionado. Ya dejé entrever en mi respuesta que me extrañaba que el problema en las transacciones tuviera algo que ver con las réplicas, pues el error daba la sensación de venir por otro lado.
Para saber si una base de datos está en modo usuario único en el enterprise manager, verás sobre la base de datos un señorín en vez una mano :-). Si quieres cambiar de un modo a otro, pulsas botón derecho sobre la BBDD -> Propiedades -> Solapa de opciones -> Restringir acceso -> Un único usuario.
Bueno, pues eso, me alegro que te haya ido bien.
No olvides finalizar y puntuar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas