Skocz do zawartości

Błąd integralności danych.

Polecane posty

Subiekt GT 1.75 na darmowym sql, baza 4.56 GB ale do odchudzenia bo sporo zajmuje szpieg.

W czerwcu pojawił się problem przy zapisywaniu jakiegokolwiek dokumentu - błąd naruszenia integralności danych... ( każdy użytkownik )

Przeprowadziłem wszystkie czynności serwisowe na bazie dostępne w programie serwisowym - pomogło.

Dziś sytuacja się powtórzyła i tym razem sprawdziłem co pomogło. Pomogła kontrola danych.

Przed naprawą zrobiłem kopię bazy aby mieć ją do testów.

Co mogę zrobić we własnym zakresie aby znaleźć przyczynę niemożliwości zapisu dokumentów?

Jedyne jeszcze co zrobiłem do polecenie DBCC CHECKDB ale w podsumowaniu zwraca zero błędów.

Mamy kilka rozwiązań dodatkowych i to pewnie któreś z nich jest odpowiedzialne za to jednak chciałbym się dowiedzieć które.

Link to postu

Najwyraźniej jest to problem logiczny (próba zapisu do bazy danych sprzeczna z ograniczeniami nałożonymi na dane w bazie).

37 minut temu, Marek Oleksiak napisał:

Mamy kilka rozwiązań dodatkowych i to pewnie któreś z nich jest odpowiedzialne za to jednak chciałbym się dowiedzieć które.

Też podejrzewam że przyczyną jest źle napisane rozwiązanie dodatkowe, ale zdiagnozowanie tego to raczej robota serwisowa.

Link to postu
20 godzin temu, Marek Oleksiak napisał:

Co mogę zrobić we własnym zakresie aby znaleźć przyczynę niemożliwości zapisu dokumentów?

Może Pan poznać się z elementami programowania i administracji serwerem SQL firmy Microsoft i odczytać rzeczywisty wyjątek za pomocą narzędzi typu profiler.

 

20 godzin temu, Marek Oleksiak napisał:

Jedyne jeszcze co zrobiłem do polecenie DBCC CHECKDB ale w podsumowaniu zwraca zero błędów.

Opisany problem nie ma nic wspólnego z fizycznym uszkodzeniem bazy danych.

 

20 godzin temu, Marek Oleksiak napisał:

Mamy kilka rozwiązań dodatkowych i to pewnie któreś z nich jest odpowiedzialne za to jednak chciałbym się dowiedzieć które.

Można jedynie zgadywać, podejrzane są rozwiązania, które nie korzystają ze Sfery przy zapisie do bazy danych:

 

Link to postu

Panie Danielu doceniam wiarę w moje zacięcie co do poznania narzędzi typu profiler.

I nawet prześledziłem te wszystkie zapytania do bazy w momencie próby zapisu dokumentu.

I nawet są jakieś wpisy odnośnie blokady...

Jednak mogę to porównać do sytuacji gdzie w tym momencie z łapanki jestem wzięty na front w charakterze sapera.

No nie będę wiedział, czego szukać i który kolor kabli przecinać.

Na dzień dzisiejszy zaktualizuję program do najnowszej wersji i będę obserwował.

Gdy ponownie pojawi się problem to rozważę kontakt z odpowiednim specjalistą.

Ps. Zewnętrzne rozwiązania, które posiadam korzystają ze sfery.

Jednak jak pamiętam z archiwalnych rozmów z dostawcami softu nie da się wszystkiego puszczać przez sferę.

Znaczy może i się da ale z jakiegoś powodu ktoś to powiedział.

Link to postu
3 godziny temu, Marek Oleksiak napisał:

Panie Danielu doceniam wiarę w moje zacięcie co do poznania narzędzi typu profiler.

To dobrze czy źle ?

 

3 godziny temu, Marek Oleksiak napisał:

No nie będę wiedział, czego szukać...

Należy szukać błędów, a dokładnie wyjątków, z angielskiego "exception".

 

3 godziny temu, Marek Oleksiak napisał:

...i który kolor kabli przecinać.

Błędy poza nazwą zdarzenia są prezentowane kolorem czerwonym.

 

3 godziny temu, Marek Oleksiak napisał:

Ps. Zewnętrzne rozwiązania, które posiadam korzystają ze sfery.

Poznałem już wielu użytkowników, którym tak się wydawało, bez poznania nawet nazwy rozwiązań nie ma jak się odnieść.

 

3 godziny temu, Marek Oleksiak napisał:

Jednak jak pamiętam z archiwalnych rozmów z dostawcami softu nie da się wszystkiego puszczać przez sferę.

Znaczy może i się da ale z jakiegoś powodu ktoś to powiedział.

Ogólnie to prawda, ale takie tematy (co można, a czego nie można / nie warto) należy rozpatrywać bardzo szczegółowo na poziomie technicznym, dokumenty, w tym kontrahenci powinni być obsługiwani przez Sferę.

Link to postu

Jest tam kilka wpisów na czerwono typu:

"declare @p3 int
set @p3=NULL
exec sp_executesql N'select @P1 = flg_Id from fl__Flagi where flg_IdGrupy = 12 and flg_Domyslna = 1',N'@P1 int OUTPUT',@p3 output
select @p3"

 

czy

 

"declare @p3 int
set @p3=NULL
declare @p4 varchar(30)
set @p4=NULL
exec spSub_KontrolaDatyKorektKosztow '2023-07-20 00:00:00',1,@p3 output,@p4 output
select @p3, @p4"

 

Nie znalazłem tam błędów ( "wyjątków, z angielskiego "exception" )  a jedyne coś co mógłbym połączyć z błędem zapisu jest to co poniżej.

 

"declare @p3 datetime
set @p3=NULL
declare @p4 datetime
set @p4=NULL
exec sp_executesql N'SELECT
        @P1=    pd_Blokada.bl_BlokadaSubiekt
    ,    @P2=    pd_Blokada.bl_BlokadaRew

FROM par__Ewid
INNER JOIN pd_Blokada        ON par__Ewid.pe_Id = pd_Blokada.bl_ParamEwidId
INNER JOIN par_EwidProfil    ON par__Ewid.pe_Id = par_EwidProfil.pep_IdObiektu
                                AND par_EwidProfil.pep_IdUzytkownika = @P3
',N'@P1 datetime OUTPUT,@P2 datetime OUTPUT,@P3 int',@p3 output,@p4 output,1
select @p3, @p4"

 

Link to postu
8 godzin temu, Marek Oleksiak napisał:

Nie znalazłem tam błędów ( "wyjątków, z angielskiego "exception" )  a jedyne coś co mógłbym połączyć z błędem zapisu jest to co poniżej.

A włączył Pan wcześniej ich przechwytywanie ? To użytkownik decyduje jakie zdarzenia chce widzieć.

Edytowane przez Daniel Kozłowski
Link to postu

Cenna uwaga...

Przy próbie zapisu dokumentu:

 

" Violation of PRIMARY KEY constraint 'PK_dok_Pozycja'. Cannot insert duplicate key in object 'dbo.dok_Pozycja'. The duplicate key value is (1669057). "

dla paragonu

 

"Violation of PRIMARY KEY constraint 'PK_dok_MagRuch'. Cannot insert duplicate key in object 'dbo.dok_MagRuch'. The duplicate key value is (972999)."

dla fv

 

dla rw

"Violation of PRIMARY KEY constraint 'PK_dok_MagRuch'. Cannot insert duplicate key in object 'dbo.dok_MagRuch'. The duplicate key value is (973000)."

 

Tylko z czym to powiązać?

Link to postu
38 minut temu, Marek Oleksiak napisał:

Tylko z czym to powiązać?

Najprawdopodobniej z tym:

W dniu 18.07.2023 o 14:58, Andrzej Kubik napisał:

przyczyną jest źle napisane rozwiązanie dodatkowe,

Wygląda na to żę w tym rozwiązaniu niepoprawnie jest obsługiwane nadawanie identyfikatorów.

Potem kontrola danych naprawia problem, a po kolejnej akcji ze strony tego rozwiązania problem wraca i efekt jest jak widać.

Edytowane przez Andrzej Kubik
Link to postu
×
×
  • Dodaj nową pozycję...