Acerca de SQL2000

Nota Vista 3.870 Veces

Una pastillita sobre SQL2000….

 

Todos sabemos que el SQL Server es un poderoso servidor de base de datos, con una amplia aceptación y uso mundial, este Server de Microsoft se ha sabido ganar un lugar entre los motores de bases de datos, junto a otros como MySQL, Oracle y varios más y que si bien ya es una versión muy antigua, aun sigue ejecutándose en varios servidores.

El tema en cuestión nos generó bastantes problemas e incertidumbres dado que una aplicación arma una tabla de tipo auxiliar, esta tabla, cada vez que se ejecuta dicha aplicación se borra completamente y vuelve a llenarse, un procedimiento hasta aquí muy normal y utilizado en muchas ocasiones por varias aplicaciones.

 Hasta aquí tenemos un caso normal y cotidiano, pero comenzó a ocurrir algo insólito, cuando se presionaba el botón GENERAR, se mostraban los resultados normalmente, pero al salir y volver a entrar, y generar nuevamente, se tenían registros dobles, triples, cuádruples y hasta quíntuples en algunas ocasiones.

Se buscaron problemas en el proyecto, se borraba la tabla en forma manual y algunas veces quedaba bien y otras veces no. Llegó a ocurrir que incluso de un día para el otro, se viera este inconveniente. Todo muy raro, los Stores Procedures se ejecutaban normalmente, primero limpiaban la tabla, luego seleccionaban registros y después llenaban la tabla según ciertos requisitos. No se veían problemas, sobre todo, que eso funcionaba un día y dejó de funcionar sin mas, sin hacer cambios ni nada.

He aquí que restauramos un Backup viejo, y le caímos encima de la tabla en cuestión y a partir de allí quedó funcionando normalmente.

Como conclusiones supusimos que SQL debe hacer algo parecido a lo que se conocía en las antiguas DBF, como el PACK. En los archivos DBF se hacia un borrado (DELETE) lógico del registro, es decir se marca como eliminado y luego el comando PACK procedía a realizar el borrado físico del registro, es decir eliminarlo y pareciera que en este caso ese paso no se completaba.

Como de costumbre queda abierta la nota a todas las opiniones que sirvan para compartir experiencias.

Marcelo Luques Marcelo Luques (13 Posts)


Tags: , ,

4 Responses

  1. Isaias Islas dice:

    Es muy corta tu explicacion, nos hablas de tablas, ¿temporales?, aquellas que se crean con # o ## signos de “gato”?

    • Marcelo Luques Marcelo Luques dice:

      Hola, gracias por tu lectura. La explicación es corta dado que no se puede hacer una nota con todo el recorrido que se hizo para llegar a la conclusión, pero se intentó colocar el problema y la solución que es lo que más puede resultar útil para otra persona que lo sufra. En cuanto a las tablas temporales, el texto dice que es una aplicación que arma una tabla temporal, en cuanto al llenado de los datos, según lo indica renglones abajo, donde hace mención a que es vaciada y llenada con datos cada vez que se da el botón GENERAR. La idea fue presentar un problema(duplicación de registros) y la solución(copiado de estructura de la tabla desde un backup). Nuevamente gracias por el aporte.

  2. Luis Enrique dice:

    estimados y si tengo un campo de tipo fecha en Excel 2007 con formato dd/mm/yyyy cuando ejecuto dts en sql server lo agrega hh:mm:ss, trato de poner un execute task sql para hacer un convert a la fecha pero me sale error.
    mi script es insert into (campo1, convert(varchar(10),fecha,103)as fecha) select campo1, fecha from Datos$(origen Excel)

    • Marcelo Luques Marcelo Luques dice:

      Hola luis, gracias por la lectura y consulta. Si bien es verdad que SQL agrega hh:mm:ss (y a veces hasta milisegundos si se eligiò smalldatetime) , una cosa es como lo almacenas y otra como lo presentas…..Quizàs te sea ùtil cambiar la forma de mostrarlo utilizando un Convert por ejemplo……Gracias desde ya y espero te sea ùitl el dato. Atte.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© VB-MUNDO – Visual Basic y mucho más
CyberChimps