Quando consulto a configuração do trace padrão, mostra habilitado:
exec sp_configure 'default trace enabled';
-->
name minimum maximum config_value run_value
default trace enabled 0 1 1 1
Mas quando eu consulto sys.traces
o caminho, ele retorna um conjunto de linhas vazio:
select * from sys.traces;
O que poderia explicar a ausência do traço habilitado?
Eu diria que há uma forte correlação entre o evento fora do espaço e o rastro perdido. Observe que a
sp_configure
opção apenas informa que o rastreamento padrão está ativado, mas isso não significa que ele esteja em execução ou que exista. Observe quesys.traces
não é uma tabela, mas uma exibição:O que o conjunto de
TABLE SYSTRACES
linhas fornece? Como funciona? Como seus resultados são filtrados? Seu palpite é tão bom quanto o meu. É possível que o traço ainda esteja lá, mas em um estado que o impeça de ser exposto por esta visualização. E pode estar em um estado que ainda impeça de ser iniciado mesmo após reiniciar o serviço.Primeiro, verifique se o local do rastreamento padrão tem espaço suficiente, se a conta de serviço do SQL Server ainda tem permissões adequadas para gravar nele, se você não está sujeito a cotas de espaço etc. Você pode obter o local no registro:
Quando tiver certeza de que o SQL Server pode gravar nesta pasta, você poderá desativar e reativar o rastreamento padrão:
Você não precisa reiniciar o serviço SQL Server neste ponto, mas pode ser um chute final nas calças do SQL Server se você ainda não vir uma linha em
sys.traces
. Observe que o quetrace_id
você obtém não tem garantia de permanecer em 1.Eu tive o mesmo problema depois que a unidade encheu. O rastreamento padrão foi ativado, mas não está em execução. Desativá-lo e reativá-lo funcionou imediatamente sem interromper os serviços.