Tengo una instalación de ~ 10 días de WinServer2012R2 y SQL Server Express 2016 para probar. Soy el único usuario en esta máquina. Una base de datos con un .bak de SQL Server 2005 de ~ 250 MB se restaura sin ningún problema. Después de reiniciar la máquina, el proceso "SQL Server NT - 64 Bit" usa 0% de CPU.
Después de un par de minutos u horas y algunas consultas simples (¡sin actualizaciones / inserciones!) Del uso de CPU SSMS de "SQL Server NT - 64 Bit" de repente salta a ~ 15% y permanece allí, incluso cuando está inactivo. A partir de ese momento, las consultas que generalmente toman menos de un segundo de repente toman 2 minutos. Durante una consulta real, el uso de la CPU NO aumenta. El servidor queda prácticamente inutilizable en este estado.
Solo conectar SQL Server Profiler toma> 30 segundos. Además de mis propias consultas, veo muy pocas consultas de SQLServerCEIP / SQLTELEMETRY, ~ 3 por minuto.
Reiniciar SQL-Server no lo resuelve. El uso de la CPU vuelve a saltar a ~ 15%. Incluso después de horas, SQL-Server no se recupera. Solo reiniciar la máquina completa resuelve el problema.
Como se trata de una instalación "lista para usar", solo hay una pequeña base de datos, prácticamente sin consultas, solo yo como usuario y probablemente sin bloqueos, los numerosos artículos sobre problemas de rendimiento habituales del servidor SQL hablan de muchas cosas que no Realmente se aplica aquí. Parece que SQL-Server quiere concentrarse exclusivamente en alguna tarea interna.
Esta es una máquina virtual con 2GB de RAM y doble Xeon a 2GHz. También tengo VS2016 y es realmente rápido. Sin antivirus, ni siquiera Windows Defender. Ya tarde aquí. Probaré el sp_whoisactive mañana. Realmente me pregunto QUÉ está haciendo SQL Server allí ... En la máquina anterior con 1 GB, la misma base de datos se ejecutó bajo SQLServer2005 durante 10 años sin problemas ...
No soy un experto en SQL-Profiler. ¿Dónde debería comenzar a buscar?
auto_update_statistics_async
estaba activada.