Tomasz Lapke 1 Napisano 22 Lutego 2021 Udostępnij Napisano 22 Lutego 2021 w Subiekt Nexo uszkodzona baza dany? InsERT.Mox.DataAccess.DataAccessException: Wystąpił błąd dostępu do danych. Witam, Wersja Nexo : 34.1.0(4320) Silnik Bazy danych: Microsoft SQL Server 2019 (RTM-GDR) (KB4583458) - 15.0.2080.9 (X64) Nov 6 2020 16:50:01 Copyright (C) 2019 Microsoft Corporation Standard Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 19041: ) (Hypervisor) Baza podmiot: Ilość danych: Zużycie zasobów na serwerze: Ram: 32Gb Procesor: i7-4790 Dysk: SSD Pod bazę podpiętych jest kilka rozwiązań sferycznych. Od jakiegoś czasu wydajność subiekta diametralnie spadła. Sam interfejs Subiekta Nexo ciągle wywala się błędami typu: Błędy z poziomu sfery: InsERT.Mox.DataAccess.DataAccessException: Wystąpił błąd dostępu do danych. ---> System.Data.Entity.Core.UpdateException: An error occurred while updating the entries. See the inner exception for details. ---> System.Data.SqlClient.SqlException: Upłynął limit czasu wykonywania. Limit upłynął przed ukończeniem operacji lub serwer nie odpowiada. ---> System.ComponentModel.Win32Exception: Upłynął limit czasu operacji oczekiwania --- Koniec śladu stosu wyjątków wewnętrznych --- w System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) w System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) w System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) w System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) w System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() w System.Data.SqlClient.SqlDataReader.get_MetaData() w System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted) w System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest) w System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) w System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) w System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) w System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) w System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior) w System.Data.Entity.Core.Mapping.Update.Internal.DynamicUpdateCommand.Execute(Dictionary`2 identifierValues, List`1 generatedValues, IDbCommandInterceptor commandInterceptor) w System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update() --- Koniec śladu stosu wyjątków wewnętrznych --- w System.Data.Entity.Core.Mapping.Update.Internal.UpdateTranslator.Update() w System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.<>c.<Update>b__18_0(UpdateTranslator ut) w System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.Update[T](IEntityStateManager entityCache, T noChangesResult, Func`2 updateFunction, Boolean throwOnClosedConnection) w System.Data.Entity.Core.EntityClient.Internal.EntityAdapter.Update(IEntityStateManager entityCache, Boolean throwOnClosedConnection) w System.Data.Entity.Core.Objects.ObjectContext.<SaveChangesToStore>b__125_0() w System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func) w System.Data.Entity.Core.Objects.ObjectContext.SaveChangesToStore(SaveOptions options) w System.Data.Entity.Core.Objects.ObjectContext.SaveChanges(SaveOptions options) w InsERT.Mox.DataAccess.EntityFramework.UnitOfWorkAwareObjectContext.HandleChangesSaveRequest(Object sender, ChangesSaveRequestEventArgs args) --- Koniec śladu stosu wyjątków wewnętrznych --- w InsERT.Mox.DataAccess.EntityFramework.UnitOfWorkAwareObjectContext.HandleChangesSaveRequest(Object sender, ChangesSaveRequestEventArgs args) w InsERT.Mox.Work.UnitOfWork.SaveChanges2(Boolean saveRequestVetoed, Boolean changesWereSaved) w InsERT.Mox.Work.UnitOfWork.SaveChanges() w InsERT.Mox.BusinessObjects.BusinessObject`3.Zapisz() Ilość danych jest śmiesznie niska, moim zadaniem aplikacja nie powinna w ogóle mieć problemów wydajnościowych. Rozwiązania sferyczne są na tej samej maszynie co baza. Problemy sieciowe można pominąć. Gdzie mógłbym szukać rozwiązania tego problemu. Czy mają Państwo jakieś narzędzia diagnostyczne do badania konsystencji bazy danych? Na chwilę obecną korzystanie z subiekta staje się coraz większym wyzwaniem. Z góry dziękuję ze reakcję. Link to postu
Paweł Szczygieł 36 Napisano 22 Lutego 2021 Udostępnij Napisano 22 Lutego 2021 w Subiekt Nexo uszkodzona baza dany? InsERT.Mox.DataAccess.DataAccessException: Wystąpił błąd dostępu do danych. Została sprawdzona integralność bazy ? wykonana została reindeksacja ? Link to postu
Tomasz Lapke 1 Napisano 22 Lutego 2021 Autor Udostępnij Napisano 22 Lutego 2021 w Subiekt Nexo uszkodzona baza dany? InsERT.Mox.DataAccess.DataAccessException: Wystąpił błąd dostępu do danych. (edytowane) Witam, Z samą bazą danych jest w porzadku, narzedzia mssql nie pokazując żadnych problemów. Chodzi tu raczej o integralność danych na poziomie subiekta a nie bazy. Czy została reindeksacja? - nie. Pytanie czy to reindeksacja na bazie nie rozwali Insertowskiego "Instynktu"? Edytowane 22 Lutego 2021 przez Tomasz Lapke Link to postu
Andrzej Kubik 1 098 Napisano 22 Lutego 2021 Udostępnij Napisano 22 Lutego 2021 w Subiekt Nexo uszkodzona baza dany? InsERT.Mox.DataAccess.DataAccessException: Wystąpił błąd dostępu do danych. 4 minuty temu, Tomasz Lapke napisał: czy to reindeksacja na bazie nie rozwali Insertowskiego "Instynktu"? Nie rozwali, dlaczego miałaby rozwalić? 😲 Link to postu
Tomasz Lapke 1 Napisano 22 Lutego 2021 Autor Udostępnij Napisano 22 Lutego 2021 w Subiekt Nexo uszkodzona baza dany? InsERT.Mox.DataAccess.DataAccessException: Wystąpił błąd dostępu do danych. Czyli sugerujcie Panowie reindeksacje wszystkich tabel i ich indeksow czy tylko konkretnych? Jestem przekonany, że jakiś czas temu już to próbowałem robić. Czy są jakieś narzędzia dostarczone do subiekta którymi można byłby sprawdzić konsystencje samych danych? Link to postu
Jacek Izydorczyk 1 337 Napisano 22 Lutego 2021 Udostępnij Napisano 22 Lutego 2021 w Subiekt Nexo uszkodzona baza dany? InsERT.Mox.DataAccess.DataAccessException: Wystąpił błąd dostępu do danych. Proszę w pierwszej kolejności wykonać konserwację bazy danych z programu serwisowego. Link to postu
Tomasz Lapke 1 Napisano 22 Lutego 2021 Autor Udostępnij Napisano 22 Lutego 2021 w Subiekt Nexo uszkodzona baza dany? InsERT.Mox.DataAccess.DataAccessException: Wystąpił błąd dostępu do danych. Witam, Rzeczywiście reindeksacja pomogła. Gdyby ktoś miał podobne problemy to poniżej sql do wykonania na bazie (wszystkie usługi i klienci powinni być odpięci od bazy przed puszczeniem, dodatkowo myślę, że backup nie zaszkodzi, sql zwraca output jeżeli coś się schrzani): declare @tableName nvarchar(255) declare myCursor CURSOR FOR select TABLE_SCHEMA+'.'+TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_TYPE = 'base table' open myCursor Fetch next from myCursor into @tableName While @@FETCH_STATUS = 0 Begin print 'Working on: '+@tableName DBCC DBREINDEX(@TableName,' ',90) Fetch next from myCursor into @tableName end close myCursor Deallocate myCursor Myślę, że będę musiał zrobić jakieś joba który reindeksacje będzie wykonywać cyklicznie... Link to postu
Andrzej Kubik 1 098 Napisano 22 Lutego 2021 Udostępnij Napisano 22 Lutego 2021 w Subiekt Nexo uszkodzona baza dany? InsERT.Mox.DataAccess.DataAccessException: Wystąpił błąd dostępu do danych. Tak tylko dodam że nie trzeba wymyślać skryptów bo programem serwisowym nexo można to zrobić dwoma kliknięciami, a przy tym jeszcze zrobiona będzie odbudowa statystyk, co jest równie ważne.Nazywa się to "konserwacja bazy danych".Nie da się tego polecenia odpalić w harmonogramie, ale poza tym jest i nic nie trzeba wymyślać. Link to postu
Tomasz Lapke 1 Napisano 22 Lutego 2021 Autor Udostępnij Napisano 22 Lutego 2021 w Subiekt Nexo uszkodzona baza dany? InsERT.Mox.DataAccess.DataAccessException: Wystąpił błąd dostępu do danych. Witam, Rzeczywiście reindeksacja pomogła. Gdyby ktoś miał podobne problemy to poniżej sql do wykonania na bazie (wszystkie usługi i klienci powinni być odpięci od bazy przed puszczeniem, dodatkowo myślę, że backup nie zaszkodzi, sql zwraca output jeżeli coś się schrzani): declare @tableName nvarchar(255) declare myCursor CURSOR FOR select TABLE_SCHEMA+'.'+TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_TYPE = 'base table' open myCursor Fetch next from myCursor into @tableName While @@FETCH_STATUS = 0 Begin print 'Working on: '+@tableName DBCC DBREINDEX(@TableName,' ',90) Fetch next from myCursor into @tableName end close myCursor Deallocate myCursor Myślę, że będę musiał zrobić jakieś joba który reindeksacje będzie wykonywać cyklicznie... Link to postu
Tomasz Lapke 1 Napisano 22 Lutego 2021 Autor Udostępnij Napisano 22 Lutego 2021 w Subiekt Nexo uszkodzona baza dany? InsERT.Mox.DataAccess.DataAccessException: Wystąpił błąd dostępu do danych. Dobrze wiedzieć następny razem spróbuję tego rozwiązania. Zobaczymy czy sprawdzi się ono równie dobrze. BTW Nie dało się podpowiedzieć tego od razu:)? Link to postu
Andrzej Kubik 1 098 Napisano 22 Lutego 2021 Udostępnij Napisano 22 Lutego 2021 w Subiekt Nexo uszkodzona baza dany? InsERT.Mox.DataAccess.DataAccessException: Wystąpił błąd dostępu do danych. Jacek od razu napisał o konserwacji bazy z programu serwisowego, ale co poradzić, na czytanie bez zrozumienia nie ma prostego lekarstwa. Link to postu
Polecane posty