Connection to database lost.

PříspěvekNapsal: 13.08.2007 11:34
od jana.krapkova
Problém:
při několikaminutové pauze v práci s Heliosem se objeví hláška:
SQL-server byl pravděpodobně vypnut nebo přestartován!
specifikovaná dále SQL hlášením:
[SQL: 10025,9] Connection to database lost.
nebo též
[SQL: 10005,1] Connection to database lost.
Helios se musí ukončit a znovu spustit.

Možná příčina:
jedna z příčin může být, že PC má povoleno vypínat síťovou kartu z důvodu úspory energie. Když to skutečně nastane a síťová karta se vypne, tak je násilně odpojen Helios Orange od serveru a přitom majitel třeba vyřizuje telefonát, nebo z nějakého jiného důvodu se zrovna nevěnuje počítači :-)

Návod - vypnutí úspory energie

Pro majitele PC i notebooků
1. Najděte ikonku Místa v síti
2. Na této ikonce klikněte pravou myší
3. zvolte volbu Vlastnosti
4. Ikonka Připojení k místní síti , opět pravá myš a Vlastnosti a objeví se další obrazovka, a teď nás zajímá pouze volba Konfigurovat
5. Objeví se nám vlastnosti, ale nás bude zajímat záložka Řízení spotřeby. Na této záložce odškrtneme volbu Povolit počítači vypínat…. (nebude tam žádná fajka)

Potvrďte tlačítkem OK

Navíc majitelům notebooků doporučujeme ještě vypnout úsporný režim, pokud jsou na napájení ze sítě (tedy dobíjejí baterii)

SQL-server byl pravděpodobně vypnut nebo přestartován !

PříspěvekNapsal: 18.01.2008 16:03
od jan.havranek
Pokud se po nějaké době nečinnosti v Heliosu objeví tato hláška, následovaná chybami [SQL: xxxxx,x] Connection to database lost, znamená to že nějaký proces ve Windows násilně připojení k SQL Serveru ukončil. Dosavadní zkušenosti ukazují na možné problémy v těchto oblastech:

1/ Skutečně došlo k restartu nebo vypnutí služeb SQL nebo i síťového serveru na kterém SQL běží.
Je třeba tedy ověřit stav, zjistit důvody vypnutí (někdo vědomě zastavil či restartoval služby, došlo k havárii serveru, je poškozená instalace SQL atd.).

2/ Je nestabilní síť jako taková, problematický HW sítě, nechtěné přepínaní mezi kabelem a WI-FI apod. Je nutná celková kontrola průchodnosti a stability. Doporučená je též aktualizace OS na stanicích i serveru, tedy nahrát dostupné service packy a hotfixy. Diagnoza kvality spojení pomocí PING není vhodná, protože PING neukazuje kvalitu a stabilitu spojení. Ze zkušeností víme, že i když PING jede a nevrací výpadky, není to záruka udržení SQL Connection. Na druhou stranu pokud PING trvale vykazuje ztráty packetů tak je ztráta spojení s SQL jistá.

3/ Ve Windows, na jednotlivých stanicích včetně serveru, může být povoleno vypínání síťové karty při nečinnosti, z důvodu spotřeby. V okamžiku kdy se ale karta vypne, je připojení k SQL ukončeno a již nejde automaticky navázat. Je třeba toto nastavení přes Správce zařízení ve Windows zrušit.

4/ Spojení s SQL serverem může také bránit nějaká lokální služba typu Firewall, Proxy, Antivir. Jediná možnost je služby na stanicích i serveru postupně vypínat a zkusit provoz dočasně bez nich. Pokud chyby přestanou, je téměř jisté že problém je zde. Pak je nutné najít způsob (bude se lišit dle výrobce SW) jak nastavit výjimky pro SQL komunikaci, tak aby nebyla násilně ukončována, i při nečinnosti.

5/ Připojení na lokální server přes protokol TCP/IP (tedy SERVER= 127.0.0.1, localhost, tečka apod.) se přeruší, pokud je vytažen kabel ze síťový karty. A to i přes to, že vlastně fyzicky přes něj nekomunikuje, protože komunikace běží pouze v paměti. Je to obecná vlastnost implementace protokolu TCP/IP ve Windows. Protokoly Named Pipes a Shared Memory tuto nectnost nemají.

6/ Odpojení connection může v krajních případech způsobit poškození dané databáze. Připojení je ukončeno pokud Severity Level původní chyby SQL ([SQL: <error>,<severity>]) je rovný nebo větší než 20. V Heliosu se objeví pouze konečná chyba a to Connection to database lost. Chyba, která spojení ukončila bude uložena pouze v LOGu SQL. Více informací o Severity Levels najdete zde http://msdn2.microsoft.com/en-us/library/aa937483(SQL.80).aspx. Je třeba pátrat přímo na SQL Serveru a ověřit stav databáze.

7/ Další známý důvod kdy toto nastává je, pokud je Helios připojen pomocí protokolu TCP/IP a k PC s Heliosem je připojen mobilní telefon přes USB. Pokud je takový telefon v průběhu připojení vypnut, dojde k uvedené chybě. Problém je na straně Microsoft v implementaci protokolu TCP, telefon tedy ponechávat zapnutý, nebo pro Helios použít připojení pomocí Named Pipes (Helios.ini - SERVER=np:<jmeno_pc>).

8/ Databáze má zapnutu vlastnost AutoClose = True a tak ta při neaktivitě všech aktivních seancí po nějakou (blíže neurčenou dobu) přejde do stavu Close a odpojí všechny tyto aktivní seance.

Závěr:
Většinou bývá problém na více frontách, tzn. zároveň je např. vypínána síťová karta a zároveň běží firewall ... . Je třeba projít všechny body, které komunikaci mohou shazovat.

Zkušenosti/nastavení pro programy:
ESET Personal Firewall
- najít větev IDS a rozšířené nastavení
- zde zrušit zaškrtávátko Detekce útoku reverzní TCP desynchronizace

10054: TCP Provider: Stávající připojení bylo vynuceně ukonč

PříspěvekNapsal: 22.01.2018 17:45
od jiri.dolezal
Dochází-li k následující hlášce ve spuštěném HELIOS Orange:

Kód: Vybrat vše
10054: TCP Provider: Stávající připojení bylo vynuceně ukončeno vzdáleným hostitelem.

sql_vypnut.gif
Stávající připojení bylo vynuceně ukončeno vzdáleným hostitelem.
sql_vypnut.gif (16.87 KiB) Zobrazeno 16350 krát

Prověřte všechny skutečnosti uvedené v článcích tohoto tématu výše.

Pokud problém i přesto přetrvává, je možné zkusit provést nastavení z následujícího článku https://blogs.msdn.microsoft.com/developingfordynamicsgp/2013/12/03/tcp-chimney-setting-and-sql-server-error-tcp-provider-an-existing-connection-was-forcibly-closed-by-the-remote-host/