Problema nas diretiva após a atualização

Problema

Após a atulização parece que a configuração de algumas diretivas sumiram. 

Contexto

Foi detectado um problema que está duplicando os registros de diretiva

Solução

Não existe ainda solução definitiva mas o seguinte script ajuda a encontrar os problemas e corrigir:

BEGIN TRAN


if exists(
select nome from parametro p
group by nome
having count(0) > 1) begin

select nome into #duplicado from parametro p
group by nome
having count(0) > 1

select p.id, p.nome into #erro from parametro p
inner join #duplicado pp
on pp.nome = p.nome

select distinct e.id, e.nome into #conf_errado from #erro e
inner join USUARIO_PARAMETRO u
on e.id = u.PARAMETRO_ID
order by nome

Select 'Nesta parte é necessário ajustar manulamente a usuario_parametro'

select p.id as parametro_id, p.nome, u.valor, u.empresa_id, u.id, g.id usuario_id, g.nome from usuario_parametro u
inner join parametro p
on u.parametro_id = p.id
inner join #conf_errado c
on p.id = c.id
left outer join grupo_usuario g
on u.GRUPO_USUARIO_ID = g.id
order by 2, g.nome, u.empresa_id

--delete from usuario_parametro where id in (44365, 44371, 44366, 44370, 44371)
--exemplo: 

--update usuario_parametro set parametro_id = 2458 where id = 18895

/*Depois de deixar as configurações de usuario_parametro sem parametro repetido

pode descomentar o sql abaixo que será feito o ajuste*/
/*
update u set
parametro_id = (select min(e.id) from #erro e where e.nome = p.nome)
from usuario_parametro u
inner join parametro p
on u.parametro_id = p.id
inner join #erro e
on p.id = e.ID

delete p from parametro p
inner join #erro e
on p.nome = e.nome
inner join (select nome, min(id) id from #erro group by nome) ee
on p.nome = ee.nome
and p.id <> ee.id

select distinct nome from #erro

select * from parametro p
inner join #erro e
on e.id = p.id
*/
end


rollback

Alguma dúvida?
Abrir chamado