lunes, 21 de julio de 2008

Respaldando el MDF se respalda la KB

SQL Server guarda sus bases de datos en un .MDF (y además en un .LDF guarda el registro de trasacciones).
GeneXus X guarda la KB en una base de datos SQL Server y a partir de ahí se genera toda la aplicación.

Por ende es suficiente respaldar la base de datos sql server si se desea respaldar la KB.


Cuando internamente nos pasamos KBs, en vez de pasarnos un backup, nos estamos pasando el .mdf simplemente, o un .zip con el mdf y el kb.gxw y el knowledgebase.connection.
Resulta más práctico que pasar un backup de la Base de datos.

Aquí quedó descrito cómo hacemos para abrir esa "KB", o sea cómo llegar a generar a partir de un .mdf.

Cuando le mandan la KB a un amigo (y por algo no basta con un export), pueden entonces mandar simplemente un zip del .mdf.

Dicho sea de paso, respáldenlo o envíenlo comprimido:
Tengo un .mdf que mide 26.8 MB. Si lo comprimo con winrar pasa a 2.2 MB y algo. El zip de windows me lo deja en 3.5

5 comentarios:

Emmanuel Amieva dijo...

Buenas, se que es de hace varios años ya el post, pero mi duda viene, en si hay una forma de reconstruir la KB teniendo TODOS los demás archivos, menos el ".mdf" (por error en la configuración al crear el modelo no se creó el .mdf) que es el problema que tengo actualmente.

Ya que como el sqlserver no detecta la base de datos de la KB me es imposible volver a reabrirla.

Abrazo

Armin Bachmann dijo...

Hola Emmanuel, si perdiste el mdf y todo backup de él, no hay forma de recuperarte, lamento.

el mdf contiene todo, de él puedes generar todo.

Emmanuel Amieva dijo...

Lo suponía, muchas gracias por la respuesta.

richard dijo...

Claro que se puede Armin, Emmanuel lo que tenes que hacer es creas una nueva kb, podes crear un objeto si quieres si no igual funciona, creas la kb nueva y copia y reemplaza todo de tu kb nueva a la vieja y renombras tu archivo "nombre del nuevo por el viejo" gxw

Armin Bachmann dijo...

Richard, si pierdes el mdf de la KB (el de la KB, no la base de datos de la aplicación generada), y luego logras crear otra KB con exactamente lo mismo .... sin tener que volver a programar todo, te postularé para el premio Mac Giver 2015
Todo el conocimiento de la Base de Conocimiento (GeneXus X en adelante) queda en la base de datos SQL Server apuntada por el knowledgebase.connection del directorio físico en el que está esa base de conocimiento. Si pierdes ese MDF ... y no tienes backup ... ni KB en GXserver, etc etc ... no hay forma de crear otra KB a partir de esta.
A partir de los fuentes generados no se puede generar la KB, así como tampoco de assembler se puede generar los fuentes del lenguaje de generación mayor que lo generó.