Ao tentar expandir as sessões em eventos estendidos, estou recebendo um erro de resolução de agrupamento no SSMS 18.2 (15.0.18142):
Olhando para um rastreamento, descobri que essa consulta é o que está me dando o erro de agrupamento, mas não consigo ver por quê? Todos os DBs do sistema têm o mesmo agrupamento
SELECT * FROM sys.server_event_sessions AS session
LEFT OUTER JOIN sys.dm_xe_sessions AS running ON running.name = session.name
Isso parece ser um conflito entre a ordenação no nível da instância (ou seja, servidor) e a ordenação que está sendo usada no banco de
[master]
dados. Ambossys.server_event_sessions
esys.dm_xe_sessions
são exibições do catálogo do sistema, e a ordenação de seus[name]
campos deve ser a mesma.sepupic fez o OP executar o seguinte:
Os resultados foram:
Essa diferença não deve ser possível, mas pelo menos explica a mensagem de erro.
Solicitei que o OP executasse o seguinte para determinar o agrupamento no nível da instância:
OP respondeu com:
Claramente, algo deu errado com o processo de alteração de agrupamento. Consegui reproduzir o erro criando um banco de dados contendo uma tabela com uma coluna de string. Eu usei um agrupamento que diferencia maiúsculas de minúsculas e essa coluna também era a Chave Primária (ou seja: um índice exclusivo). Eu adicionei duas linhas:
N'A'
eN'a'
. Em seguida, usei o método sqlservr.exe -q (detalhes vinculados abaixo) para atualizar globalmente os agrupamentos para alterar o agrupamento da instância para um diferente, que não diferencia maiúsculas de minúsculas. Quando o processo tentou reconstruir o PK, ele falhou porque o agrupamento que não diferencia maiúsculas de minúsculas tornou a segunda linha não exclusiva da primeira. Mas, os BDs do sistema já foram atualizados. No entanto, a ordenação de nível de instância não foi alterada para a nova ordenação, pois o processo nunca foi concluído.Para corrigir isso, acredito que o seguinte funcionaria:
sqlservr.exe -q
método