Pergunta

Atualmente, estou trabalhando em um projeto em que ocorreu alguns dados (significativos) de corrupção. Especificamente, o banco de dados está usando o GUIDS como chaves primárias na maioria das tabelas, no entanto, não está aplicando a integridade dos dados entre essas tabelas (devido a uma discussão "isso foi comprado de outra empresa e integrado ao nosso material"). Há um esforço em andamento para introduzir integridade referencial, no entanto, os dados devem ser limpos antes que isso seja possível.

Parte dessa corrupção de dados é que diferentes chaves de entidade foram alteradas ou inseridas em colunas incorretas. Por exemplo, um valor "ProductID" válido existe em um campo "CustomerID" devido ao software que inseriu a chave errada na coluna errada. Isso estava acontecendo por meses no banco de dados antes que o problema fosse finalmente pego (durante um trabalho de agregação de dados) e agora o esforço de limpeza é bastante grande.

O que estou me perguntando é se existe uma maneira de encontrar um GUID em um banco de dados. Em vez disso, se eu tenho um GUID que eu acho que é uma chave primária em alguma tabela, existe uma maneira de pedir correspondências para qualquer coluna de chaves de identificação de identificação conhecida?

Sei que o GUID que tenho não é um CustomerID, mas pode ser outro ID principal primário de outra tabela. Até agora, a equipe está pesquisando as outras tabelas manualmente por partidas para os Rogue GUIDS para ver se eles podem descobrir o "tipo" da chave. Eles chegaram ao ponto de criar scripts com muitas instruções "Selecionar * da [tabela] onde [TABLEID] = @RogueGuid" declarações que pesquisam as tabelas de entidade conhecidas para uma correspondência. No entanto, essa abordagem não é muito eficiente.

Estou procurando este script não apenas para este projeto, mas também porque acho que "esse guia existe como um valor -chave primário em qualquer lugar deste banco de dados?" O tipo de consulta seria um ativo útil em uma caixa de ferramentas de desenvolvimento. Qualquer ajuda é apreciada.

Foi útil?

Solução

Uma pergunta semelhante a isso foi feita e respondida aqui. Espero que isso ajude.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top