gx-l |
| Gabriel Medina | |
Hola Federico, Muchas gracias por responder. *Respondo párrafo a párrafo.* -- Saludos, gab @gxsoft On Wed, Nov 25, 2020 at 2:13 PM Federico Azzato <fazzato@genexus.com> wrote: > Hola Gab, > > Me interesa conocer exactamente cómo estás abriendo las KBs, y la versión > de GX que utilizas. ¿En GX seleccionas para abrir el archivo de extensión > gxw, o estás intentando abrir el mdf? > Probé de la primera forma, y luego de la segunda forma. En las dos me da (creo) el mismo error. O sea, pienso que es más de connectividad del SQL2016, que de GeneXus mismo. > > En v17 pusimos mejoras en la aperturas de KBs, para que en tu escenario > donde tienes un montón de KBs que probablemente no cambiaron de directorio, > y el nombre de la máquina es el mismo, si al intentar abrir la KB > seleccionando el gxw se detecta que la base de datos de la KB no está > presente en el SQL, se intenta hacer un attach automático. > Ok, esto me ha respondido así, muy bien, en muchos casos, de hecho, hace un tiempo, puse un disco SSD, y el técnico me formateó el disco C:\, afortunadamente tengo los datos y la mayoría de las instalaciones en el disco D:\ (eso fue hace un par de meses nomás) y todo funcionó,... creo que tengo que acertarle a la version *exacta *del 2016. Pero no se como lograrlo, porque -pienso- el SQL se va actualizando, y el Windows va haciendo Updates, y algunas veces actualiza drivers también... . > Para el caso en el que solo tienes el mdf (y opcionalmente el ldf), > tenemos una mejora en el canal beta que es posible incluyamos en v17u1. La > misma consiste en que al abrir un mdf, el diálogo para hacer attach > obligaba a cambiar el nombre de la base de datos, por ejemplo poniendo un > sufijo "_2". No era un gran problema, pero molestaba. > Si si, lo recuerdo. Pero a pesar de esa molestia del _2 (que nunca entendí) me venía excelente. > Como veo que además no puedes hacer el attach a mano en el SQL, lo más > problable es que le nuevo SQL no tenga permisos sobre el directorio de las > KBs, y en particular sobre los mdf y ldf de las bases de datos. Te > recomiendo revises que en el directorio de la KB tengan permiso full > control los siguientes grupos de usuarios: > > - BATCH > - INTERACTIVE > - SERVICE > > Excelente sugerencia, *voy a hacer eso y te cuento.* Aunque me parece que el SQL tiene FULL access. > Además verificar que los mdf y ldf heredan esos permisos, ya que > generalmente el SQL les deshabilita la herencia de permisos cuando los crea. > Ahh OK. Muchas gracias! > > saludos, > > *Federico Azzato* > Research & Development | GeneXus <http://genexus.com/> > +598 2601 2082 | Simplifying Software Development > > [image: GeneXus] > <http://genexus.com/go> > > > On Wed, Nov 25, 2020 at 1:07 PM Gabriel Medina <gxsoft@gmail.com> wrote: > >> Hola Amigos, >> >> Tengo un problema Recurrente, que *NO es específico de GeneXus* creo. >> Que es el siguiente: Tuve que reinstalar Windows por un error en restore de >> BackUp, al querer abrir las KB (* GX_KB_<Nombre>.mdf .*)nuevamente me da >> el siguiente error: >> >> [image: image.png] >> >> *Yo (supuestamente) *instalé el mismo SQL Server 2016, en realidad usé >> el mismo instalador... qué hace Windows... es un poco un misterio. >> Porque hace downloads y updates automáticos... y finalmente no sé >> que version o subversion/build es el que tenía antes... >> >> Que puedo hacer para "*recuperar"** todas estas KB(MDFs) *que tenía? >> >> No puedo abrir ninguna... >> Aclaro que intenté realizar *Attach* del MDF, y también me da ese >> error... >> >> >> De antemano les doy *muchas gracias *por leer y más aún por responder >> cualquier sugerencia. >> >> Abrazo, >> gab >> >> >> >> >> *Acá va el error con mayor detalle.* >> >> >> at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, >> Boolean breakConnection, Action`1 wrapCloseInAction) >> at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException >> exception, Boolean breakConnection, Action`1 wrapCloseInAction) >> at >> System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject >> stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) >> at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, >> SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet >> bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) >> at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String >> methodName, Boolean async, Int32 timeout, Boolean asyncWrite) >> at >> System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 >> completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& >> usedCache, Boolean asyncWrite, Boolean inRetry) >> at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() >> at Artech.Udm.Framework.SQL.DataConnection.TryCreateDb(SqlConnection >> con, KBConnectionInfo info, Boolean forAttach) >> at >> Artech.Udm.Framework.SQL.DataConnection.GetConnection(KBConnectionInfo >> info, Boolean forAttach, Boolean& dbExist) >> >> -- >> Saludos, >> gab >> @gxsoft >> >> |
|
|
| | |
Back to gx-l |
|