none
API Web realiza inserciones con id's muy grandes.. RRS feed

  • Pregunta

  • Hola amigos, me encuentro con un problema que no ubico su origen, uso SQL SERVER, tengo una tabla de usuarios:

    USE [tests]
    GO
    
    /****** Object:  Table [dbo].[USERS]    Script Date: 09/12/2019 08:39:23 p.m. ******/
    SET ANSI_NULLS ON
    GO
    
    SET QUOTED_IDENTIFIER ON
    GO
    
    CREATE TABLE [dbo].[USERS](
    	[id] [bigint] IDENTITY(1,1) NOT NULL,
    	[name] [varchar](100) NOT NULL,
    	[age] [int] NULL,
    	[email] [varchar](100) NULL,
    	[password] [varchar](500) NULL,
    	[job_id] [int] NULL,
    	[role_id] [int] NULL,
     CONSTRAINT [PK_USERS] PRIMARY KEY CLUSTERED 
    (
    	[id] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    GO

    Y el método para agregar un usuario es el siguiente:

    [HttpPost]
    public async Task<IActionResult> PostUsers([FromBody] Users users)
    {
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }
    
        _context.Users.Add(users);
        await _context.SaveChangesAsync();
    
        return CreatedAtAction("GetUsers", new { id = users.Id }, users); // Status 201
    }
    El problema es, porqué al agregar un nuevo usuario el id es tan grande (30008, 30009), y a veces le suma 10000 al incremento del id, pero porqué si yo le dije que hiciero esto:
    IDENTITY(1,1)






    • Editado Roy YEA martes, 10 de diciembre de 2019 5:53
    martes, 10 de diciembre de 2019 2:48

Respuestas

  • Es un "bug" de SQL Server, no es culpa de tu web api.

    Resulta que bajo ciertas condiciones (típicamente cuando apagas y enciendes el servicio SQL), y dependiendo de las transacciones que tenga pendientes, de repente el identity pega un salto grande, tal como 1000 unidades de golpe. Esto en realidad es legítimo, es decir, el Identity solo garantiza que los números sean crecientes, no que no se produzcan saltos. Por ejemplo, si inicias una transacción, grabas un registro, y haces un rollback, el registro grabado desaparece pero el valor que se le asignó a su Identity no se recupera, por lo que se produce un salto de una unidad.

    Hay un "parche" para SQL Server que corrige el defecto del salto de 1000 unidades. Pero el salto de 1 unidad cuando haya un rollback siempre se produce, ese no se puede evitar.

    • Propuesto como respuesta Diana AcuñaModerator martes, 10 de diciembre de 2019 15:32
    • Marcado como respuesta Roy YEA lunes, 24 de febrero de 2020 3:08
    martes, 10 de diciembre de 2019 6:54
  • Hola Roy YEA:

    Como te ha contado Alberto, identity utiliza un sistema de cache, para disponer del siguiente número de una manera más óptima. Si deshabilitas este sistema, insertar el siguiente registro será más lento.

    Depende de la versión, este cacheo se encuentra en el flag 272.

    Deshabilitar el flag 272

    https://www.dfarber.com/computer-consulting-blog/articles/how-to-solve-identity-problem-in-sql-2012/

    Si bien a partir de 2017 se encuentra en las opciones de configuración

    select * from sys.database_scoped_configurations
    where name like 'IDENTITY_CACHE'

    Para cambiarlo.

    ALTER DATABASE SCOPED CONFIGURATION SET IDENTITY_CACHE= OFF

    Vuelves a ejectuar el select.

    • Propuesto como respuesta Diana AcuñaModerator martes, 10 de diciembre de 2019 15:32
    • Marcado como respuesta Roy YEA lunes, 24 de febrero de 2020 3:08
    martes, 10 de diciembre de 2019 9:06
  • Hola Roy YEA:

    Prueba ejecutar services.msc

    Busca en la lista de servicios de windows, el que corresponde con tu motor Sql (Probablemente SQL Server (MSSQLSERVER))

    Botón derecho detener.

    Cuando lo detengas

    En la caja de parámetros: -T272

    Iniciar servicio. (Esto tienes que probarlo, yo no le he ejecutado nunca así, aunque debería de funcionar bien).

    Para verificarlo

    DROP TABLE IF EXISTS dbo.NumsIdentity;
    CREATE TABLE dbo.NUMSIDENTITY
    (
    ID INT IDENTITY(1,1) PRIMARY KEY,
    VALOR VARCHAR(10),
    FECHA DATETIME DEFAULT (GETDATE())
    )
    GO
    INSERT INTO dbo.NUMSIDENTITY
    (VALOR, FECHA)
    VALUES
    ('A',DEFAULT),
    ('B',DEFAULT),
    ('C',DEFAULT);
    GO
    SHUTDOWN WITH NOWAIT;
    GO

    Vuelves a services.msc y verás que está detenido. Lo inicias.

    Una vez iniciado, levantas una nueva consulta, puesto que la ventana de consultas, ha terminado la conexión.

    INSERT INTO dbo.NUMSIDENTITY
    (VALOR, FECHA)
    VALUES
    ('D',DEFAULT);
    GO
    SELECT * FROM dbo.NumsIdentity

    y el valor debiera de ser consecutivo.

    DROP TABLE if exists dbo.NumsIdentity;

    • Propuesto como respuesta Pablo RubioModerator miércoles, 11 de diciembre de 2019 18:13
    • Marcado como respuesta Roy YEA lunes, 24 de febrero de 2020 3:07
    miércoles, 11 de diciembre de 2019 9:33
  • Hola Roy YEA:

    En sql server 2016, tienes que recurrir al link para desactivar el flag 272, que se realiza desde el configuration manager.

    Deshabilitar el flag 272

    https://www.dfarber.com/computer-consulting-blog/articles/how-to-solve-identity-problem-in-sql-2012/

    • Marcado como respuesta Roy YEA lunes, 24 de febrero de 2020 3:07
    martes, 10 de diciembre de 2019 21:48
  • Hola Roy YEA:

    Estoy pensando en implementar los famosos UID que vi en un trabajo anterior, que son más seguros eso sí pero no estoy seguro de su rendimiento.

    Desconozco el porque dices que son más seguros, pero antes de cambiar a otro tipo de claves primarias, que tienen un nivel de fragmentación muy alto, y si tus insercciones son muy grandes se pueden ver muy penalizadas, dale una leída a este artículo, que a lo mejor te ayuda, a cambiar el enfoque.

    Ids incrementales

    https://javifer2.wordpress.com/2019/11/23/id-incremental-como/

    En cuanto al sqlservermanager si abres una consola (cmd) y haces un dir sqlser* no te aparece ninguno de los msc?

    • Marcado como respuesta Roy YEA lunes, 24 de febrero de 2020 3:07
    miércoles, 11 de diciembre de 2019 6:44
  • Hola Roy YEA:

    ¿Estás desarrollando directamente en Visual Studio? Y la conexión es contra un proyecto de datos localdb.

    Me tenía que haber dado cuenta con esta ventana, porque Sql Server Management Studio no dispone de tema oscuro, y aunque se puede configurar para que lo muestre, la ventana de resultados, suele ser igualmente blanca.

    ¿Que es localDb?

    https://sqldevtools.blogspot.com/2014/06/que-es-localdb.html

    El servicio no existe salvo que estes corriendo la aplicación.

    Yo te recomiendo que utilices Sql Server instalado correctamente, y migres el desarrollo a una base de datos "de verdad".

    Instalar Sql Server 2017

    https://www.sqlshack.com/es/instalacion-paso-a-paso-del-sql-server-2017/

    • Marcado como respuesta Roy YEA lunes, 24 de febrero de 2020 3:06
    lunes, 16 de diciembre de 2019 5:30

Todas las respuestas

  • Es un "bug" de SQL Server, no es culpa de tu web api.

    Resulta que bajo ciertas condiciones (típicamente cuando apagas y enciendes el servicio SQL), y dependiendo de las transacciones que tenga pendientes, de repente el identity pega un salto grande, tal como 1000 unidades de golpe. Esto en realidad es legítimo, es decir, el Identity solo garantiza que los números sean crecientes, no que no se produzcan saltos. Por ejemplo, si inicias una transacción, grabas un registro, y haces un rollback, el registro grabado desaparece pero el valor que se le asignó a su Identity no se recupera, por lo que se produce un salto de una unidad.

    Hay un "parche" para SQL Server que corrige el defecto del salto de 1000 unidades. Pero el salto de 1 unidad cuando haya un rollback siempre se produce, ese no se puede evitar.

    • Propuesto como respuesta Diana AcuñaModerator martes, 10 de diciembre de 2019 15:32
    • Marcado como respuesta Roy YEA lunes, 24 de febrero de 2020 3:08
    martes, 10 de diciembre de 2019 6:54
  • Hola Roy YEA:

    Como te ha contado Alberto, identity utiliza un sistema de cache, para disponer del siguiente número de una manera más óptima. Si deshabilitas este sistema, insertar el siguiente registro será más lento.

    Depende de la versión, este cacheo se encuentra en el flag 272.

    Deshabilitar el flag 272

    https://www.dfarber.com/computer-consulting-blog/articles/how-to-solve-identity-problem-in-sql-2012/

    Si bien a partir de 2017 se encuentra en las opciones de configuración

    select * from sys.database_scoped_configurations
    where name like 'IDENTITY_CACHE'

    Para cambiarlo.

    ALTER DATABASE SCOPED CONFIGURATION SET IDENTITY_CACHE= OFF

    Vuelves a ejectuar el select.

    • Propuesto como respuesta Diana AcuñaModerator martes, 10 de diciembre de 2019 15:32
    • Marcado como respuesta Roy YEA lunes, 24 de febrero de 2020 3:08
    martes, 10 de diciembre de 2019 9:06
  • Muchas gracias por la ayuda, me motivan a seguir dándolo todo deveras!

    Alberto busqué el parche pero desafortunadamente no lo encontre, es un archivo .exe??

    Javi ejecuté la consulta que me enviaste pero no me arrojó ningún resultado (ningún registro)

    Ejecuté:

    Select @@version

    Resultado:

    Microsoft SQL Server 2016 (SP1) (KB3182545) - 13.0.4001.0 (X64)   Oct 28 2016 18:17:30   Copyright (c) Microsoft Corporation  Express Edition (64-bit) on Windows 7 Home Premium 6.1 <X64> (Build 7601: Service Pack 1)

    Yo bajé la versión de SQL Server 2017, no se porque dice 2016...

    De antemano gracias por su apoyo.



    • Editado Roy YEA martes, 10 de diciembre de 2019 21:18
    martes, 10 de diciembre de 2019 21:16
  • Hola Roy YEA:

    En sql server 2016, tienes que recurrir al link para desactivar el flag 272, que se realiza desde el configuration manager.

    Deshabilitar el flag 272

    https://www.dfarber.com/computer-consulting-blog/articles/how-to-solve-identity-problem-in-sql-2012/

    • Marcado como respuesta Roy YEA lunes, 24 de febrero de 2020 3:07
    martes, 10 de diciembre de 2019 21:48
  • Alberto busqué el parche pero desafortunadamente no lo encontre, es un archivo .exe??

    Perdona, quizá el nombre que usé al decir "parche" fue desafortunado. En realidad lo que hay que hacer es configurar un Trace Flag (en otro mensaje ya te han dicho cómo) y eso "parchea" internamente el funcionamiento para que no guarde en caché el bloque de valores para el identity.
    martes, 10 de diciembre de 2019 22:12
  • Muchas gracias por la prontas respuestas, he intentado varias cosas para encontrar el dichoso programa: SQL Server Configuration Manager, seguí los pasos que dicen en estas páginas pero no hay nada, tampoco veo que se pueda instalar como complemento aparte.

    https://es.stackoverflow.com/questions/35963/qu%C3%A9-hago-si-no-encuentro-el-sql-server-configuration-manager-en-windows-10-para/35964

    https://blog.sqlauthority.com/2019/03/01/sql-server-sql-server-configuration-manager-missing-from-start-menu/

    Estoy pensando en implementar los famosos UID que vi en un trabajo anterior, que son más seguros eso sí pero no estoy seguro de su rendimiento.

    De cualquier manera me gustaría resolver el problema principal por que no es posible que algo tan sencillo no pueda lograrlo.

    De antemano les agradezco mucho su apoyo, deveras.

    miércoles, 11 de diciembre de 2019 6:26
  • Hola Roy YEA:

    Estoy pensando en implementar los famosos UID que vi en un trabajo anterior, que son más seguros eso sí pero no estoy seguro de su rendimiento.

    Desconozco el porque dices que son más seguros, pero antes de cambiar a otro tipo de claves primarias, que tienen un nivel de fragmentación muy alto, y si tus insercciones son muy grandes se pueden ver muy penalizadas, dale una leída a este artículo, que a lo mejor te ayuda, a cambiar el enfoque.

    Ids incrementales

    https://javifer2.wordpress.com/2019/11/23/id-incremental-como/

    En cuanto al sqlservermanager si abres una consola (cmd) y haces un dir sqlser* no te aparece ninguno de los msc?

    • Marcado como respuesta Roy YEA lunes, 24 de febrero de 2020 3:07
    miércoles, 11 de diciembre de 2019 6:44
  • Ejecutando el comando sugerido, no apareció ningúno de los msc.

    Me he leído el artículo que me recomendaste (que creaste tu mismo, muy enriquecedor por cierto), y ahora estoy más convencido de resolver el problema principal xD


    • Editado Roy YEA miércoles, 11 de diciembre de 2019 7:14
    miércoles, 11 de diciembre de 2019 7:12
  • Hola Roy YEA:

    Prueba ejecutar services.msc

    Busca en la lista de servicios de windows, el que corresponde con tu motor Sql (Probablemente SQL Server (MSSQLSERVER))

    Botón derecho detener.

    Cuando lo detengas

    En la caja de parámetros: -T272

    Iniciar servicio. (Esto tienes que probarlo, yo no le he ejecutado nunca así, aunque debería de funcionar bien).

    Para verificarlo

    DROP TABLE IF EXISTS dbo.NumsIdentity;
    CREATE TABLE dbo.NUMSIDENTITY
    (
    ID INT IDENTITY(1,1) PRIMARY KEY,
    VALOR VARCHAR(10),
    FECHA DATETIME DEFAULT (GETDATE())
    )
    GO
    INSERT INTO dbo.NUMSIDENTITY
    (VALOR, FECHA)
    VALUES
    ('A',DEFAULT),
    ('B',DEFAULT),
    ('C',DEFAULT);
    GO
    SHUTDOWN WITH NOWAIT;
    GO

    Vuelves a services.msc y verás que está detenido. Lo inicias.

    Una vez iniciado, levantas una nueva consulta, puesto que la ventana de consultas, ha terminado la conexión.

    INSERT INTO dbo.NUMSIDENTITY
    (VALOR, FECHA)
    VALUES
    ('D',DEFAULT);
    GO
    SELECT * FROM dbo.NumsIdentity

    y el valor debiera de ser consecutivo.

    DROP TABLE if exists dbo.NumsIdentity;

    • Propuesto como respuesta Pablo RubioModerator miércoles, 11 de diciembre de 2019 18:13
    • Marcado como respuesta Roy YEA lunes, 24 de febrero de 2020 3:07
    miércoles, 11 de diciembre de 2019 9:33
  • Hola Pablo, muchas gracias por la ayuda, intente ejecutar todos los pasos pero no esta el servicio que mencionas (el motor de SQL), solo encontre uno que se llama: SQL Server VSS Writer (SQLWriter)

    Hice los pasos que mencionas pero sigue el mismo problema, al ejecutar el insert, resulta:

    1

    2

    3

    10002

    No se cual sea el problema con esta version de SQL que pareciera que no instalo ningún administrador para el motor de la BD-SQL.


    • Editado Roy YEA domingo, 15 de diciembre de 2019 8:09
    domingo, 15 de diciembre de 2019 8:09
  • Hola Roy YEA:

    El VSS Writer, basicamente se encarga de backups y restores.

    Sin cambiar la configuración siempre utilizará cache, y por tanto saltará esos números, ya que es el modo más rápido de funcionamiento, y así esta configurado por defecto.

    La versión de SQL no tiene ningún problema, y si no se ha instalado el servicio, no funcionaría la base de datos, ya que es el servicio realmente, el programa que esta corriendo para ejecutar tus sentencias.

    Vuelve a servicios (ejecutar services.msc), ordena los mismos por nombre y busca por MSSQL SERVER o cualquier otro que disponga en su nombre el literal SQL

    Al hacer click en la cabecera de los nombres de servicios te los ordenará (lo verás indicado por la flechita donde te he puesto la verde). Te será mucho más fácil encontrarlo.

    domingo, 15 de diciembre de 2019 8:22
  • Hola Javi, muchas gracias por tu apoyo deveeras! =D

    Exporte la lista de los servicios de mi windows (7), luego busqué en notepad++ la palabra 'sql', solo encontré entre ellos el proceso 'SQL Server VSS Writer'. Lista de los servicios:

    Acceso a dispositivo de interfaz humana
    Adaptador de escucha Net.Msmq
    Adaptador de escucha Net.Pipe
    Adaptador de escucha Net.Tcp
    Adaptador de rendimiento de WMI
    Administración de certificados y claves de mantenimiento
    Administración remota de Windows (WS-Management)
    Administrador de conexión automática de acceso remoto
    Administrador de conexión de acceso remoto
    Administrador de credenciales
    Administrador de cuentas de seguridad
    Administrador de identidad de redes de mismo nivel
    Administrador de sesión del Administrador de ventanas de escritorio
    Adobe Acrobat Update Service
    Adobe Genuine Monitor Service
    Adobe Genuine Software Integrity Service
    AdobeUpdateService
    Adquisición de imágenes de Windows (WIA)
    Agente de directiva IPsec
    Agente de Protección de acceso a redes
    Agrupación de red del mismo nivel
    Aislamiento de claves CNG
    Almacenamiento protegido
    Alps HID Monitor Service
    Aplicación auxiliar de NetBIOS sobre TCP/IP
    Aplicación auxiliar IP
    Aplicación del sistema COM+
    Asignador de detección de topologías de nivel de vínculo
    Asignador de extremos de RPC
    Audio de Windows
    Ayuda del Panel de control de Informes de problemas y soluciones
    Brillo adaptable
    Captura SNMP
    Centro de seguridad
    Cliente de directiva de grupo
    Cliente de seguimiento de vínculos distribuidos
    Cliente DHCP
    Cliente DNS
    Cliente web
    Cola de impresión
    Compilador de extremo de audio de Windows
    Conexión compartida a Internet (ICS)
    Conexiones de red
    Configuración automática de redes cableadas
    Configuración automática de WLAN
    Configuración automática de WWAN
    Configuración de Escritorio remoto
    Coordinador de transacciones distribuidas
    Copias de seguridad de Windows
    Desfragmentador de disco
    Detección de hardware shell
    Detección de servicios interactivos
    Detección SSDP
    Diagnostics Tracking Service
    Directiva de extracción de tarjetas inteligentes
    Disco virtual
    Dispositivo host de UPnP
    DLL de host del Contador de rendimiento
    Energía
    Enrutamiento y acceso remoto
    Enumerador de bus IP PnP-X
    Escucha de Grupo Hogar
    Estación de trabajo
    Examinador de equipos
    Experiencia con aplicaciones
    Experiencia de calidad de audio y vídeo de Windows (qWave)
    Fax
    Firewall de Windows
    Folder Size
    Google Chrome Elevation Service
    Google Update Servicio (gupdate)
    Google Update Servicio (gupdatem)
    Hora de Windows
    Host de proveedor de detección de función
    Host de sistema de diagnóstico
    Host del servicio de diagnóstico
    HP CASL Framework Service
    HP Hotkey Service
    HP Software Framework Service
    Identidad de aplicación
    Información de la aplicación
    Iniciador de procesos de servidor DCOM
    Inicio de sesión secundario
    Instalador de ActiveX (AxInstSV)
    Instalador de módulos de Windows
    Instantáneas de volumen
    Instrumental de administración de Windows
    Intel(R) Content Protection HECI Service
    Intel(R) HD Graphics Control Panel Service
    Intel(R) PROSet/Wireless Event Log
    Intel(R) PROSet/Wireless Registry Service
    Intel(R) PROSet/Wireless Zero Configuration Service
    Internet Explorer ETW Collector Service
    KTMRM para DTC (Coordinador de transacciones distribuidas)
    Llamada a procedimiento remoto (RPC)
    Microsoft .NET Framework NGEN v2.0.50727_X64
    Microsoft .NET Framework NGEN v2.0.50727_X86
    Microsoft .NET Framework NGEN v4.0.30319_X64
    Microsoft .NET Framework NGEN v4.0.30319_X86
    Módulos de creación de claves de IPsec para IKE y AuthIP
    Motor de filtrado de base
    Mozilla Maintenance Service
    Net Logon
    Office 64 Source Engine
    Office Software Protection Platform
    Parental Controls
    Plug and Play
    Programador de aplicaciones multimedia
    Programador de tareas
    Propagación de certificados
    Protección de software
    Protocolo de autenticación extensible
    Protocolo de resolución de nombres de mismo nivel
    Proveedor de Grupo Hogar
    Proveedor de instantáneas de software de Microsoft
    Publicación de recurso de detección de función
    Realtek Audio Service
    Reconocimiento de ubicación de red
    Recopilador de eventos de Windows
    Registrador de configuración de Windows Connect Now
    Registro de eventos de Windows
    Registro remoto
    Registros y alertas de rendimiento
    Servicio biométrico de Windows
    Servicio Cifrado de unidad BitLocker
    Servicio de caché de fuentes de Windows
    Servicio de compatibilidad con Bluetooth
    Servicio de compatibilidad de programas
    Servicio de detección automática de proxy web WinHTTP
    Servicio de directivas de diagnóstico
    Servicio de entrada de Tablet PC
    Servicio de estado de ASP.NET
    Servicio de lista de redes
    Servicio de Media Center Extender
    Servicio de notificación de eventos de sistema
    Servicio de notificación de SSP
    Servicio de perfil de usuario
    Servicio de protocolo de túnel de sockets seguros
    Servicio de publicación de nombres de equipo PNRP
    Servicio de puerta de enlace de nivel de aplicación
    Servicio de tecnologías de activación de Windows
    Servicio de transferencia inteligente en segundo plano (BITS)
    Servicio de uso compartido de puertos Net.Tcp
    Servicio de uso compartido de red del Reproductor de Windows Media
    Servicio del iniciador iSCSI de Microsoft
    Servicio del módulo de copia de seguridad a nivel de bloque
    Servicio enumerador de dispositivos portátiles
    Servicio Informe de errores de Windows
    Servicio Interfaz de almacenamiento en red
    Servicio Programador de Windows Media Center
    Servicio Receptor de Windows Media Center
    Servicios de cifrado
    Servicios de Escritorio remoto
    Servidor
    Servidor de orden de subprocesos
    SIMSVC
    Sistema de cifrado de archivos (EFS)
    Sistema de color de Windows
    Sistema de eventos COM+
    SQL Server VSS Writer
    Superfetch
    Tarjeta inteligente
    TeamViewer 15
    Telefonía
    Temas
    Ubicador de llamada a procedimiento remoto (RPC)
    Visual Studio Standard Collector Service 150
    Windows CardSpace
    Windows Defender
    Windows Driver Foundation - User-mode Driver Framework
    Windows Installer
    Windows Presentation Foundation Font Cache 3.0.0.0
    Windows Search
    Windows Update
    Wireless PAN DHCP Server
    XTRASVC

    lunes, 16 de diciembre de 2019 1:44
  • Hola Roy YEA:

    ¿Estás desarrollando directamente en Visual Studio? Y la conexión es contra un proyecto de datos localdb.

    Me tenía que haber dado cuenta con esta ventana, porque Sql Server Management Studio no dispone de tema oscuro, y aunque se puede configurar para que lo muestre, la ventana de resultados, suele ser igualmente blanca.

    ¿Que es localDb?

    https://sqldevtools.blogspot.com/2014/06/que-es-localdb.html

    El servicio no existe salvo que estes corriendo la aplicación.

    Yo te recomiendo que utilices Sql Server instalado correctamente, y migres el desarrollo a una base de datos "de verdad".

    Instalar Sql Server 2017

    https://www.sqlshack.com/es/instalacion-paso-a-paso-del-sql-server-2017/

    • Marcado como respuesta Roy YEA lunes, 24 de febrero de 2020 3:06
    lunes, 16 de diciembre de 2019 5:30
  • Hola Javi, muchas gracias por responder, sobre el tema oscuro en SQL Server, si me fue posible con un programa que se llama UniversalThemePatcher, estos son mis datos de conexión (le quite el tema oscuro para no causar más confusiones, una disculpa por eso):

    Reinstalaré el SQL Server con el link que me recomiendas =D


    • Editado Roy YEA miércoles, 18 de diciembre de 2019 21:13
    miércoles, 18 de diciembre de 2019 21:13
  • Efectivamente Javi, el problema es este de tener la versión de localDb.

    Les agradezco a todos su ayuda deveras amigos! Super con personas que gustan de ayudar, seguiré su ejemplo =D

    lunes, 24 de febrero de 2020 3:05
  • De nada Roy YEA.
    lunes, 24 de febrero de 2020 5:42