none
Salto no deseado en campo autoincremental RRS feed

  • Pregunta

  • Estimados amigos, tengo una situación ya casi casi urgente, tengo una base de datos con sqlserver 2012 version express, con cerca de 130 tablas, con campos llave de tipo int autoincrementales, muchas de ellas tienen el error de dar saltos entre registros de 1000 y 10000. Dejando de lado la programación(hecha en vb.net 2010 con linq), porque estos saltos los da hasta metiendo valores a mano desde el Sql Server Management Studio. De entrada estoy pensando actualizar la versión ya sea Standar o Web.

    Desde ya agradezco infinitamente cualquier ayuda que me puedan prestar, para encontrar la solución a este problema.

    Les hago un leve vaciado de los valores de una de esas tablas.

    Id           cliId   Transporte   Marca     Fecha    Guia

    30514     1799 flecha Amariila gosh 2014-02-15 C6772171
    30515     1799 FLECHA AMARILLA GOSH 2014-02-15 C6772171
    30516     1799 FLECHA AMARILLA GOSH 2014-02-15 C6772171
    40514     1799 FLECHA AMARILLA GOSH 2014-02-15 C6772171
    40515        61 FLECHA AMARILLA GOSH 2014-02-17 C6775795
    40516    1375  GOSH 2014-02-17 
    40517    1375  GOSH 2014-02-17 
    50515    1783 PAQ. Y MENS DE MICH GOSH 2014-02-20 2653
    50516    7903 CASTORES GOSH 2014-02-21 OAX18090
    50517    2363 ESTAFETA GOSH 2014-02-21 

    viernes, 6 de junio de 2014 15:07

Respuestas

  • Querido amigo Ricardo: te adjunto un ejemplo que muestra como aparecen los saltos.

    Fijate que el ultimo salto es el mas grande porque el sistema encuentra la primera dupliccacion solamente despues de muchas lineas (y toda el insert falla):

    Create Table #T(ID Int Identity, I Int Primary Key);
    Go
    
    Insert Into #T Select 1;
    Go
    Insert Into #T Select 'A'; --cadena en lugar de numero
    Go
    Insert Into #T Select 2;
    Go
    Insert Into #T Select 1/0; --division en 0
    Go
    Insert Into #T Select 3;
    Go
    Insert Into #T Select 10000000000; --demaciado largo
    Go
    Insert Into #T Select 4;
    Go
    Begin Tran
    Insert Into #T Select 0; --transaccion con rolback
    RollBack
    Go
    Insert Into #T Select 5;
    Go
    Insert Into #T Select message_id From sys.messages Order By language_id; --violacion de la clave primaria debido a duplicaciones
    Go
    Insert Into #T Select 6;
    Go
    
    Select * From #T;
    

    Estos son mis ejemplos. No tengo ninguna idea que pasa en tu servidor.


    El castellano no es mi lengua materna. Discúlpenme por los errores gramaticales, y, si pueden, corríjanme en los comentarios, o por correo electrónico. ¡Muchas gracias! Blog: http://about.me/GeriReshef

    • Marcado como respuesta Uriel Almendra lunes, 16 de junio de 2014 18:34
    lunes, 9 de junio de 2014 19:23
  • Identity te da los saltos porque así lo configuraste

    ejemplo:

    IDENTITY (1,1) indica que inicia desde el 1, y su incremento va de 1 en 1

    corrige la configuración del IDENTITY para que vayan uno a uno.


    saludos

    viernes, 6 de junio de 2014 20:24

Todas las respuestas

  • El Identity tiene saltos cuando uno borra filas o intenta a insertar filas (Insert que fracasa, Begin Tran & Rollback..).

    Si quieres evitar estos saltos debes evitar el Identity y crear los valores por codigo.


    El castellano no es mi lengua materna. Discúlpenme por los errores gramaticales, y, si pueden, corríjanme en los comentarios, o por correo electrónico. ¡Muchas gracias! Blog: http://about.me/GeriReshef

    viernes, 6 de junio de 2014 19:45
  • Identity te da los saltos porque así lo configuraste

    ejemplo:

    IDENTITY (1,1) indica que inicia desde el 1, y su incremento va de 1 en 1

    corrige la configuración del IDENTITY para que vayan uno a uno.


    saludos

    viernes, 6 de junio de 2014 20:24
  • también checa que no se esté moviendo el consecutivo

    DBCC CHECKIDENT ('Schema.TableName', RESEED, 40000)
    


    saludos

    viernes, 6 de junio de 2014 20:26
  • Agregando a lo aportado por Geri, esa lista que muestras lo hiciste con un select con order by ID? o sin un order by especifico? o en el peor de los caso por otra columna? 


    viernes, 6 de junio de 2014 21:58
  • Estimados amigos Geri y Kakaroto2012 MUCHAS GRACIAS por su tiempo y respuestas a mi pregunta. Dando mas detalles sobre este comportamiento, les comento.

    El vaciado que les muestro es un simple "Select * from devolucionesClientes".

    El "identity increment" y "identity seed" están obviamente en 1 en todas las tablas. El salto que les comento de 1000 y hasta 10000 es espóradico, es eventual, pueden pasar varios dias sin problema y luego de pronto sin aviso no razón dar un salto.

    Algún problema de programación también lo prodríamos descartar, porque esos saltos pasan hasta en el "SQL Server Management Studio" dando de alta registros en las tablas a mano. Me sucedió en una cuando del Id 214 se brincó al Id 1214, en el vaciado que les muestro brincó 10000 de un registro a otro.

    No entiendo porque pasa esto, soy viejo programador de visual basic desde la version 3.0 y en sistemas donde uso Access como base de datos, jamas pasó esto, no concibo que SQLServer falle en una función tan elemental, sospecho que por ser versión express me haga esto. Lamentablemente no pude hacer el cambio de versión, éste fin de semana. Quiero agotar todas las posibilidades antes de esto.

    Sigo muy agradecido por su tiempo y quedo a sus ordenes.

    lunes, 9 de junio de 2014 15:55
  • Vas a tener que colocar una traza, están hechas para estos casos,

    la idea es que detectes que está pasando dentro de SQL Server, sinceramente yo descartaría

    un error de la versión Express, 

    DECLARE @RC int, @TraceID int, @on BIT
    DECLARE @Option            int
    declare @maxfilesize bigint
     
     
    set @maxfilesize = 500   -- Specifies the maximum size in megabytes (MB) a trace file can grow. max_file_size is bigint, with a default value of 5.
    set @Option = 2         -- Specifies that when the max_file_size is reached, the current trace file is closed and a new file is created. All new records will be written to the new file
     
     
     -- Escribe la traza de Monitoreo Queries en mi máquina local OOLGUIN
    EXEC @rc = sp_trace_create @TraceID output, @Option, N'c:\trace\TraceCommands_OOLGUIN',@maxfilesize,null
     
     
    -- Set the events and data columns you need to capture.
    SELECT @on = 1
    								--10    RPC:Completed           (Occurs when a remote store procedure call (RPC) has completed.)
    exec sp_trace_setevent @TraceID, 10, 1, @on           -- TextData
    exec sp_trace_setevent @TraceID, 10, 3, @on           -- DataBaseId
    exec sp_trace_setevent @TraceID, 10, 8, @on           -- HostName
    exec sp_trace_setevent @TraceID, 10, 10, @on          -- AplicationName
    exec sp_trace_setevent @TraceID, 10, 11, @on          -- LoginName
    exec sp_trace_setevent @TraceID, 10, 12, @on          -- SPID
    exec sp_trace_setevent @TraceID, 10, 14, @on          -- StartTime
    exec sp_trace_setevent @TraceID, 10, 15, @on          -- EndTime
    -----------------------------------------------------------------------------------------
    exec sp_trace_setevent @TraceID, 10, 18, @on          -- CPU
    exec sp_trace_setevent @TraceID, 10, 22, @on          -- ObjectID
    exec sp_trace_setevent @TraceID, 10, 28, @on          -- ObjectType
    exec sp_trace_setevent @TraceID, 10, 34, @on          -- ObjectName
    exec sp_trace_setevent @TraceID, 10, 35, @on          -- DatabaseName
    exec sp_trace_setevent @TraceID, 10, 40, @on          -- DBUserName
    exec sp_trace_setevent @TraceID, 10, 41, @on          -- LoginSID
    exec sp_trace_setevent @TraceID, 10, 64, @on          -- SessionLoginName
    
     
    
    
     
    --						12  SQL:BatchCompleted			(Occurs when a Transact-SQL batch has completed.)
    exec sp_trace_setevent @TraceID, 12, 1, @on           -- TextData
    exec sp_trace_setevent @TraceID, 12, 3, @on           -- DataBaseId
    exec sp_trace_setevent @TraceID, 12, 8, @on           -- HostName
    exec sp_trace_setevent @TraceID, 12, 10, @on          -- AplicationName
    exec sp_trace_setevent @TraceID, 12, 11, @on          -- LoginName
    exec sp_trace_setevent @TraceID, 12, 12, @on          -- SPID
    exec sp_trace_setevent @TraceID, 12, 14, @on          -- StartTime
    exec sp_trace_setevent @TraceID, 12, 15, @on          -- EndTime
    -----------------------------------------------------------------------------------------
    exec sp_trace_setevent @TraceID, 12, 18, @on          -- CPU
    exec sp_trace_setevent @TraceID, 12, 22, @on          -- ObjectID
    exec sp_trace_setevent @TraceID, 12, 28, @on          -- ObjectType
    exec sp_trace_setevent @TraceID, 12, 34, @on          -- ObjectName
    exec sp_trace_setevent @TraceID, 12, 35, @on          -- DatabaseName
    exec sp_trace_setevent @TraceID, 12, 40, @on          -- DBUserName
    exec sp_trace_setevent @TraceID, 12, 41, @on          -- LoginSID
    exec sp_trace_setevent @TraceID, 12, 64, @on          -- SessionLoginName
     
     
    
    
     
    --                               25    Lock:Deadlock
    exec sp_trace_setevent @TraceID, 25, 1, @on           -- TextData
    exec sp_trace_setevent @TraceID, 25, 3, @on           -- DataBaseId
    exec sp_trace_setevent @TraceID, 12, 8, @on           -- HostName
    exec sp_trace_setevent @TraceID, 12, 10, @on          -- AplicationName
    exec sp_trace_setevent @TraceID, 12, 11, @on          -- LoginName
    exec sp_trace_setevent @TraceID, 25, 12, @on          -- SPID
    exec sp_trace_setevent @TraceID, 25, 14, @on          -- StartTime
    exec sp_trace_setevent @TraceID, 25, 15, @on          -- EndTime
    -----------------------------------------------------------------------------------------
    exec sp_trace_setevent @TraceID, 25, 18, @on          -- CPU
    exec sp_trace_setevent @TraceID, 25, 22, @on          -- ObjectID
    exec sp_trace_setevent @TraceID, 25, 28, @on          -- ObjectType
    exec sp_trace_setevent @TraceID, 25, 34, @on          -- ObjectName
    exec sp_trace_setevent @TraceID, 25, 35, @on          -- DatabaseName
    exec sp_trace_setevent @TraceID, 25, 40, @on          -- DBUserName
    exec sp_trace_setevent @TraceID, 25, 41, @on          -- LoginSID
    exec sp_trace_setevent @TraceID, 25, 64, @on          -- SessionLoginName
     
    -- filtra el texto de la columna 1 [TextData] = exec sp_reset_connection QUE ES LO QUE NO QUIERO VER
    -- [@TraceID]
    -- [COLUMN]     = TextData
    -- [LogicalOperator]  1 <> (Not Equal)
    -- [comparison_operator]  1 <> (Not Equal)
    -- http://msdn.microsoft.com/en-us/library/ms174404.aspx
    
    
    
    
    -- =========================================================================================================================
    -- FILTROS
    -- El primer filtro me quita todo lo que contenga exec sp_reset_connection de la primera columna llamada TEXTDATA
    -- El segundo filtro me filtra para solo monitorear la bases de datos REMATE2G (columna = DATABASENAME)
    -- =========================================================================================================================
    --                        TRACEID  COLUMNID   LOGICAL_OPERATOR   COMPARISON OPERATOR      VALUE
    exec sp_trace_setfilter  @TraceID,  1,        1,                 1,                       N'exec sp_reset_connection';
    exec sp_trace_setfilter  @TraceID,  35,       0,                 0,                       N'REMATE2G';
    ----------------------------------------------------------------------------------------------------------------------------
    
    
    
    
    
    
     
     
    -- Set any filter. Not provided in this example
    --EXEC sp_trace_setfilter 1, 10, 0, 6, N'%Profiler%'
    exec sp_trace_setstatus @TraceID, 1 --start trace
     
     
    --------------------------------------------------------------------------------------------------------------------------------------
    --  exec sp_trace_setstatus 2, 0 --stop trace
    --  exec sp_trace_setstatus 2, 2 --close trace
     
     
     
    
    
    ---- para ver la traza que está corriendo dentro del servidor / Para saber cual es el número de mi traza y eliminarla
     
    --  SELECT * FROM ::fn_trace_getinfo(default)
    --  SELECT * FROM SYS.TRACES
     
     
    
     
    -- -- para ver la traza en tabla desde una nueva consulta
     
    --  SELECT * FROM ::fn_trace_gettable('C:\TRACE\Traza_Monitoreo_Queries_OOLGUIN.trc', default)
     
     
     
     
     
     
    --aqui hay un link para agregar los eventos
     
    --http://msdn.microsoft.com/en-us/library/aa260314(v=sql.80).aspx
     
     
     
     
     
     
     
     /*
    
     -- COPIAR ARCHIVO Traza_BatchCompleted.trc DE REPLICASC A MÁQUINA LOCAL = OOLGUIN Y CORRER EL SCRIPT
     
      
      SELECT  TiempoEjecucion= dbo.hourDiff(StartTime,EndTime), TE.Name as EventName, TES.SubClass_Name, TC.Name as CategoryName, 
    	     TextData, HostName, ApplicationName, LoginName, SPID, StartTime, EndTime, [Permissions]
             EventSubClass, Success = case when success = 1 then 'Success' else 'Failed' end,ObjectID, ObjectName, DatabaseName, OwnerName, RoleName, DBUserName, TargetLoginName, 
    		 ColumnPermissions, MethodName, SqlHandle, SessionLoginName, EventClass
      FROM ::fn_trace_gettable('C:\TRACE\Traza_Monitoreo_Queries_OOLGUIN.trc', default) AS A
      LEFT JOIN sys.trace_events			AS TE	ON A.EventClass = TE.trace_event_id
      LEFT JOIN sys.trace_subclass_values	AS TES	ON TE.trace_event_id = TES.trace_event_id AND A.EventSubClass = TES.subclass_value
      LEFT JOIN sys.trace_categories		AS TC	ON TE.Category_Id = TC.Category_ID
     
     
    
    
    
    */
     
     
     
     
     
     
     
     
     
     
    

    Te dejo un poco de código para que implementes una traza, pero además

    te recomiendo te asegures de que en caso de existir el evento ALTER  de objetos tabla esté en estos eventos

    para que sean detectados.

    Casi estoy seguro de que se está haciendo un:

    DBCC CHECKIDENT('Avispa.Calendario', RESEED, 40000)

    CUANDO TE PASE EL SALTO, INMEDIATAMENTE REVISA LA TRAZA Y AVERIGUA QUE ESTÁ PASANDO

    (tendrás que esperar a que suceda)

    saludos



    saludos

    lunes, 9 de junio de 2014 16:07
  • Estimado kakaroto2012 Me has dejado asombrado, lamentablemente mis conocimientos de SQL Server no son tan profundos, debo estudiar y documentarme para realizarlo, abusando de tu confianza tendrás un link donde aprender esto ?

    Por otro lado, dices sospechar que se esté haciendo un RESEED, esto podría pasar por un archivo de tipo Batch que ejecuta SQLServer mientras corre o ser blanco de un ataque remoto a mi DB ?


    De nuevo muchas gracias por tu tiempo.
    lunes, 9 de junio de 2014 16:39
  • Estaría bien que nos platiques que está haciendo ese batch.

    Normalmente cuando se sube información a la base de datos (archivos planos)  y es demasiada la información, se des-habilitan los índices, se coloca la base de datos en recovery model = bulk-logged, los triggers dejan de funcionar, todo esto con la finalidad de el proceso sea eficiente, más rápido. De otra forma, el log de transacciones estaría escribiendo todo el tiempo, los checks y contrains estarían disparándose por cada registro... en fin esto le afectaría en desempeño.

    Ahora bien, si ese batch está ejetuando un proceso 'bulk insert'  (subir información a tu DB)

    podría ser probable que des-habiliten el IDENTITY, a fin de buscar 'performance'. no con otra intención, o también podría ser que hagan un 'TRUNCATE TABLE' (resetea el identity). Cualquiera de éstas dos opciones te puede mover el contador del Identity y te esté causando ruido.

    Más que un ataque, a veces se buscan técnicas para mejorar el desempeño, pero deben estar bien documentadas.

    Platicamos más sobre ese batch para poderte ayudar.

    saludos


    saludos

    lunes, 9 de junio de 2014 17:15
  • Siento mucho la confusión pero no se está ejecutando un archivo batch, al menos que yo sepa, por eso era el comentario, que si ese comportamiento podría pasar de manera maliciosa o no, por un archivo tipo batch.

    Los campos con atributo de autoincremental, pueden ser de cualquier tipo o hay algunos mas adecuados que otros ? O sea, TinyInt, SmallInt, Int o BigInt deberian trabajar igual dentro de su rango obviamente ?

    Saludos y muchas gracias.

    lunes, 9 de junio de 2014 17:29
  •  Todos los tipo de datos son adecuados según el número de registros que vaya con tu negocio,

    por ejemplo, si tienes una tabla que sabes que no te va a superar los 32 registros, entonces seleccionas

    TINYINT Máximo 255 [De 0 a 255]. Tengo una tabla con los Estados de mi país, por lo que no superarán 32 filas.

    Así que un TINYINT está perfecto, sin embargo, tengo otra tabla que tiene 1,045 filas, y será muy muy difícil que se agreguen mas!, por lo que un SMALLINT me queda perfecto ( 0 a 32,767).

    Pero mi tabla de operaciones crecerá infinitamente, por lo que dejo un BIGINT para que nunca me suceda un overflow.

    Sin importar el tipo de dato, el incremental debe funcionar sin problema.

    vete por el rastreo de comandos ejecutados:

    sp_trace_create


    saludos

    lunes, 9 de junio de 2014 17:39
  • Estimado kakaroto2012, no cabe duda que tengo que profundizar mas sobre SQLserver, ya que no estoy a la altura para salir de este embrollo y con independencia de esto, crees que nos pudieramos poner en contacto directo para que pensemos en un esquema para resolver mi problema mediante una prestación. Yo estoy en León Gto México, capital nacional del calzado. Industria en la que está trabajando este sistema.

    lunes, 9 de junio de 2014 18:04
  • Querido amigo Ricardo: te adjunto un ejemplo que muestra como aparecen los saltos.

    Fijate que el ultimo salto es el mas grande porque el sistema encuentra la primera dupliccacion solamente despues de muchas lineas (y toda el insert falla):

    Create Table #T(ID Int Identity, I Int Primary Key);
    Go
    
    Insert Into #T Select 1;
    Go
    Insert Into #T Select 'A'; --cadena en lugar de numero
    Go
    Insert Into #T Select 2;
    Go
    Insert Into #T Select 1/0; --division en 0
    Go
    Insert Into #T Select 3;
    Go
    Insert Into #T Select 10000000000; --demaciado largo
    Go
    Insert Into #T Select 4;
    Go
    Begin Tran
    Insert Into #T Select 0; --transaccion con rolback
    RollBack
    Go
    Insert Into #T Select 5;
    Go
    Insert Into #T Select message_id From sys.messages Order By language_id; --violacion de la clave primaria debido a duplicaciones
    Go
    Insert Into #T Select 6;
    Go
    
    Select * From #T;
    

    Estos son mis ejemplos. No tengo ninguna idea que pasa en tu servidor.


    El castellano no es mi lengua materna. Discúlpenme por los errores gramaticales, y, si pueden, corríjanme en los comentarios, o por correo electrónico. ¡Muchas gracias! Blog: http://about.me/GeriReshef

    • Marcado como respuesta Uriel Almendra lunes, 16 de junio de 2014 18:34
    lunes, 9 de junio de 2014 19:23
  • si por supuesto, podemos hacer un webex (algo parecido al team viewer) para resolver el problema.

    dame tus datos para ponerme en contacto contigo.


    saludos

    lunes, 9 de junio de 2014 20:03
  • Ok, mira mi correo es rescalante@alesca.com.mx allá platicamos detalles.

    lunes, 9 de junio de 2014 22:24
  • Estimado Geri, es muy revelador el ejemplo que mandas, no lo hubiera imaginado gracias. Puedo pensar que ese sea el caso, pero desde el momento que los saltos son tan geométricos en 1000 y 10000. Ademas quitando el factor programación, ya que se presentan los saltos, metiendo registros manualmente desde el "Management" desduzco que debe ser otra cosa.

    Sobre tu español no hay nada que corregir, dobles gracias por el esfuerzo !

    lunes, 9 de junio de 2014 22:46
  • Muchas gracias: siempre podemos mejorar nuestras capacidades, tento en SQL Server como en Castellano.. :-)

    Por casualidad hoy leí este "Connect" sobre un bug en la Identity, muy parecida a la tuya:

    http://connect.microsoft.com/SQLServer/feedback/details/739013/failover-or-restart-results-in-reseed-of-identity


    El castellano no es mi lengua materna. Discúlpenme por los errores gramaticales, y, si pueden, corríjanme en los comentarios, o por correo electrónico. ¡Muchas gracias! Blog: http://about.me/GeriReshef

    • Propuesto como respuesta Jesús López miércoles, 11 de junio de 2014 6:25
    martes, 10 de junio de 2014 7:08
  • Hola gente, el caso mío es el mismo (en SQLServer 2012), con la salvedad de que los saltos son hacia un valor que sigue un patrón. Me explico: Tengo un campo autoincremental, el cual es la clave primaria (primary key) de la tabla y de un tiempo a esta parte empezó a saltarse los valores que debían ser consecutivos.

    de   83223 a   93158 luego hizo otro salto

    de   93345 a 103158 luego

    de 103205 a 113158 luego

    de 113244 a 123158 luego

    de 123205 a 133158 luego

    de 133184 a 143158 luego

    y así sucesivamente. Noten que el salto es siempre a un valor incrementado en 10000 al del valor al que saltó anteriormente.

    Ojalá alguien pueda darnos luces en este tema, ya que vi que otros están pasando por lo mismo. Lo pueden ver en el siguiente link: http://social.msdn.microsoft.com/Forums/es-ES/c1536daf-dff4-4bd7-9b60-9a643002516a/salto-no-deseado-en-campo-autoincremento-de-sql-server-2012?forum=sqlserveres


    • Editado OpenSoft jueves, 17 de julio de 2014 3:42
    • Propuesto como respuesta AbrahamPM martes, 24 de noviembre de 2015 16:53
    jueves, 17 de julio de 2014 3:39
  • Es el comentario de Microsoft:</sentencetext>

    Valores consecutivos en una transacción: No se garantiza que una transacción que inserta varias filas obtenga valores consecutivos para las filas porque podrían producirse otras inserciones simultáneas en la tabla.</sentencetext> SERIALIZABLE.</sentencetext></sentencetext>

    Valores consecutivos después de un reinicio del servidor u otros errores: SQL Server podría almacenar en memoria caché los valores de identidad por motivos de rendimiento y algunos de los valores asignados podrían perderse durante un error de la base de datos o un reinicio del servidor.</sentencetext> <sentencetext xmlns="http://www.w3.org/1999/xhtml">Esto puede tener como resultado espacios en el valor de identidad al insertarlo.</sentencetext> NOCACHE o usar su propio mecanismo para generar los valores de clave.</sentencetext>

    https://msdn.microsoft.com/es-es/library/ms186775(v=sql.120).aspx

    <span data-guid="afc4b6675fa99bfcdcc270625b3be2d7" data-source="If gaps are not acceptable then the application should use a sequence generator with the NOCACHE option or use their own mechanism to generate key values." id="mt20" style="color:#2a2a2a;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;" xml:space="preserve"><sentencetext xmlns="http://www.w3.org/1999/xhtml"></sentencetext>

    martes, 24 de noviembre de 2015 16:56
  • La solución que encontré:

    1. Open "SQL Server Configuration Manager"
    2. Click "SQL Server Services" on the left panel
    3. Right-click on your SQL Server instance name on the right panel
    4. Click "Properties"
    5. Click "Startup Parameters"
    6. On the "specify a startup parameter" textbox type "-t272"
    7. Click "Add"
    8. Confirm the changes


    martes, 24 de noviembre de 2015 22:43
  • Muchas Gracias OpenSoft, al parecer ya quedo arreglado el asunto

    Saludos!!!!

    viernes, 1 de diciembre de 2017 22:48
  • Hola Arthur MV

    Para que las respuestas brindadas por los colaboradores del foro puedan ser útiles para el resto de la comunidad, favor de marcarlas.

    Quedamos al pendiente de cualquier actualización de tu parte.

    Saludos Cordiales.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    lunes, 4 de diciembre de 2017 16:16
    Moderador
  • saludos, yo tengo el mismo probleme e hice eso en el configuration manager y despues de varias inseciones correctamente volvio a hacer el salto
    martes, 23 de octubre de 2018 15:34