SQL SERVER APAGANDO REGISTROS

 Tópico anterior Próximo tópico Novo tópico

SQL SERVER APAGANDO REGISTROS

SQL / DATABASE

 Compartilhe  Compartilhe  Compartilhe
#494110 - 17/06/2020 13:33:45

MAICONCARDOSO
CANOAS
Cadast. em:Janeiro/2004


Olá pessoal!

Estou tendo problemas com perda de registros no SQL Server 2012. Identifiquei que uma tabela está perdendo registros até então aleatoriamente, já criei uma tabela auxiliar com uma FOREIGN KEY para gerar a dependência referente a tabela principal mas não adiantou, simplesmente os registros desaparecem do banco. É uma tabela que já tem quase 100 mil registros e praticamente perco um registro por dia, sempre registros que são adicionados recentemente...
Alguém já passou por esse problema? Alguma sugestão para resolver?

Muito obrigado

Maicon Cardoso



#494111 - 17/06/2020 14:40:02

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Acho MUITO difícil que seja isso mesmo acontecendo. Se for, você, entre centenas de milhões de usuários, encontrou o bug mais catastrófico possível de um banco de dados. Realmente, acho quase impossível de isso acontecer. Praticamente certo que a causa é outra, muito possivelmente código.

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#494112 - 17/06/2020 17:51:22

WCOSTA
VASSOURAS
Cadast. em:Dezembro/2003


Membro da equipe
KERPLUNK concordo com você e ainda acrescento a possibilidade de invasões ou injeção SQL.

AntSoft Systems On Demand



#494126 - 19/06/2020 01:15:04

TRTNCG
CAMPINA GRANDE
Cadast. em:Fevereiro/2004


Cara trabalho com milhões de registros e em vários clientes, trabalhei em uma empresa com uma base SQL SERVER que tinha 750GB, tinha tabelas com algumas centenas de milhões de registros, quase 100 usuários simultâneos e nunca tivemos problema de perca de registros.

Outra coisa, a auditoria feita por vc, vale ressaltar foi FODA, pois perceber em uma tabela com 100 mil registros que um registro foi apagado, puts, pois para saber vc teria que ter a cópia no momento anterior a exclusão daquele registro, que de fato vc disse que não sabe quando acontece e quando foi. Reveja a modelagem da sua base, tem algo errado nisso!



#494170 - 24/06/2020 12:55:26

WESLEYWWS
LAVRAS
Cadast. em:Junho/2009


Última edição em 24/06/2020 18:54:55 por WESLEYWWS

Amigo, veja se no relacionamento de sua tabela, o FOREIGN KEY OPTIONS  está com o ON DELETE como CASCATE. Se estiver, ao excluir um registro PAI, o registro FILHO é excluído junto.




#494171 - 24/06/2020 14:58:59

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Citação:
:
Amigo, veja seu relacionamento de sua tabela, o FOREIGN KEY OPTIONS  está com o ON DELETE como CASCATE. Se estiver, ao excluir um registro PAI, o registro FILHO é excluído junto.

Se for esse o o caso do MAICONCARDOSO, não é um erro/problema, é o comportamento esperado e natural.

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#494174 - 24/06/2020 19:02:35

WESLEYWWS
LAVRAS
Cadast. em:Junho/2009


Possibilidades:
- Em algum relacionamento da tab_pai ter o ON DELETE como CASCATE;
- Ter algum TRIGGER executando o DELETE;
- Ter algum código no software causando a exclusão

Possivelmente esta é uma tabela filha, pois se está aceitando exclusão, ou está sem relacionamento ou não tem registro dependente.



#494202 - 29/06/2020 15:13:52

MAICONCARDOSO
CANOAS
Cadast. em:Janeiro/2004


Citação:
:
Acho MUITO difícil que seja isso mesmo acontecendo. Se for, você, entre centenas de milhões de usuários, encontrou o bug mais catastrófico possível de um banco de dados. Realmente, acho quase impossível de isso acontecer. Praticamente certo que a causa é outra, muito possivelmente código.

Eu revisei o código mas não achei nada que pudesse estar deletando estes registros.

Citação:
:
KERPLUNK concordo com você e ainda acrescento a possibilidade de invasões ou injeção SQL.

Agora você me fez lembrar que eu liberei o acesso ao banco para uma empresa que iria desenvolver (e desenvolveu mas não estamos mais usando) um app para gerenciarmos os andamentos dos pedidos. Talvez tenham deixado algo que possa estar ocasionando isso sim, pois essa foi uma das tabelas foco no desenvolvimento deles.



Citação:
:
Cara trabalho com milhões de registros e em vários clientes, trabalhei em uma empresa com uma base SQL SERVER que tinha 750GB, tinha tabelas com algumas centenas de milhões de registros, quase 100 usuários simultâneos e nunca tivemos problema de perca de registros.

Outra coisa, a auditoria feita por vc, vale ressaltar foi FODA, pois perceber em uma tabela com 100 mil registros que um registro foi apagado, puts, pois para saber vc teria que ter a cópia no momento anterior a exclusão daquele registro, que de fato vc disse que não sabe quando acontece e quando foi. Reveja a modelagem da sua base, tem algo errado nisso!

Não fiz auditoria, na verdade é muito fácil de identificar porque o pedido está na tela do operador e 'do nada' desaparece...



Citação:
:
Possibilidades:
- Em algum relacionamento da tab_pai ter o ON DELETE como CASCATE;
- Ter algum TRIGGER executando o DELETE;
- Ter algum código no software causando a exclusão

Possivelmente esta é uma tabela filha, pois se está aceitando exclusão, ou está sem relacionamento ou não tem registro dependente.

Vou verificar isso

Muito obrigado pessoal!! Assim que descobrir retorno aqui para compartilhar com vocês

Maicon Cardoso



#494226 - 02/07/2020 10:45:02

MAICONCARDOSO
CANOAS
Cadast. em:Janeiro/2004


Olá colegas!

Fiz as análises mas ainda não encontrei nada.

Olhei tabela por tabela no banco de dados e não encontrei nenhum gatilho.
A tabela que está perdendo os registros é uma tabela PAI, tem duas tabelas que dependem dela.
Verifiquei no código também e não encontrei nenhuma função para exclusão de registros nessa tabela.

Sigo na busca aqui...

Obrigado pela atenção de todos!


Maicon Cardoso



#494228 - 02/07/2020 11:16:08

MARCELODAVID
PINDAMONHANGABA
Cadast. em:Junho/2011


Última edição em 02/07/2020 11:17:46 por MARCELODAVID

Sei que pode parecer noob, mas não custa verificar se não há nenhum código causando rollback em determinada situação ou falha não tratada (ou tratada de maneira errada).




#494231 - 02/07/2020 12:03:45

MAICONCARDOSO
CANOAS
Cadast. em:Janeiro/2004


Citação:
:
Sei que pode parecer noob, mas não custa verificar se não há nenhum código causando rollback em determinada situação ou falha não tratada (ou tratada de maneira errada).


Toda ajuda é bem-vinda!! Agora eu encontrei duas funções de exclusão no sistema, deixei uma condição nelas caso sejam acionadas. Tomara que seja isso!

Maicon Cardoso



 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário