Eu tenho uma instalação de aproximadamente 10 dias do WinServer2012R2 e do SQL Server Express 2016 para teste. Eu sou o único usuário nesta máquina. Um banco de dados com um arquivo .bak do SQL Server 2005 de aproximadamente 250 MB é restaurado sem problemas. Após uma reinicialização da máquina, o processo "SQL Server NT - 64 bits" usa 0% da CPU.
Depois de alguns minutos ou horas e algumas consultas simples (sem atualizações/inserções!) do uso da CPU do SSMS de "SQL Server NT - 64 bits" de repente salta para ~ 15% e permanece lá, mesmo quando ocioso. A partir desse ponto, as consultas que geralmente levam menos de um segundo, de repente, levam 2 minutos. Durante uma consulta real, o uso da CPU NÃO aumenta. O servidor torna-se virtualmente inutilizável neste estado.
Somente a conexão do SQL Server Profiler leva > 30 segundos. Ao lado de minhas próprias consultas, vejo apenas algumas consultas de SQLServerCEIP / SQLTELEMETRY, ~3 por minuto.
Reiniciar o SQL-Server não resolve. O uso da CPU salta de volta para ~ 15%. Mesmo após o expediente, o SQL-Server não se recupera. Apenas reiniciar a máquina inteira resolve o problema.
Como esta é uma instalação "pronta para uso", há apenas um pequeno banco de dados, praticamente sem consultas, apenas eu como usuário e provavelmente sem bloqueios, os muitos artigos sobre problemas regulares de desempenho do SQL-Server falam sobre muitas coisas que não realmente não se aplica aqui. Parece que o SQL-Server deseja se concentrar exclusivamente em alguma tarefa interna.
Esta é uma máquina virtual com 2 GB de RAM e Xeon duplo a 2 GHz. Eu também tenho VS2016 nele e é muito rápido. Sem antivírus, nem mesmo o Windows Defender. Já tarde aqui. Vou tentar o sp_whoisactive amanhã. Eu realmente me pergunto O QUE o SQL-Server ESTÁ fazendo lá... Na máquina anterior com 1 GB, o mesmo banco de dados funcionou no SQLServer2005 por 10 anos sem problemas...
Não sou um especialista em SQL-Profiler. Por onde devo começar a procurar?