AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Locale Datenspeicherung bei SQL Server Ausfall
Thema durchsuchen
Ansicht
Themen-Optionen

Locale Datenspeicherung bei SQL Server Ausfall

Ein Thema von Loewentier · begonnen am 13. Dez 2006 · letzter Beitrag vom 13. Dez 2006
Antwort Antwort
Loewentier

Registriert seit: 21. Jul 2005
Ort: Freiburg
18 Beiträge
 
#1

Locale Datenspeicherung bei SQL Server Ausfall

  Alt 13. Dez 2006, 16:25
Datenbank: MS SQL Server 200X • Zugriff über: ADO
Habe ein generelles Problem wo Ihr mir vielleicht helfen könnt
Suche nach einer einfachen Lösung Daten die sich normalerweise auf einem Server befinden lokal speichern können, wenn jemand am Client den Netzwerkstecker zieht, bzw der Server ausfällt.

Schema:
Normalzustand: Client schreibt auf den Server
Netzwerkausfall: Software erkennt den Ausfall und speichert lokal zwischen
Netzwerk wieder da: Lokale Daten werden auf den Sever übertragen...
Alles läuft normal weiter

Will wenn möglich die Daten auch Lokal in eine Datenbank schreiben (Stichwort: Datensicherheit!) so dass auch bei einem Absturz keine Daten verloren gehen.
Eine parralele Installation von SQL Server und MSDE mit Datenabgleich derselben währe vielleicht ne Lösung...
Suche aber etwas einfach zu Installierends.

Über Anregungen und Ideen würde ich mich freuen
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Locale Datenspeicherung bei SQL Server Ausfall

  Alt 13. Dez 2006, 16:44
Zitat von Loewentier:
Habe ein generelles Problem wo Ihr mir vielleicht helfen könnt
Suche nach einer einfachen Lösung Daten die sich normalerweise auf einem Server befinden lokal speichern können, wenn jemand am Client den Netzwerkstecker zieht, bzw der Server ausfällt.

Schema:
Normalzustand: Client schreibt auf den Server
Netzwerkausfall: Software erkennt den Ausfall und speichert lokal zwischen
Netzwerk wieder da: Lokale Daten werden auf den Sever übertragen...
Alles läuft normal weiter

Will wenn möglich die Daten auch Lokal in eine Datenbank schreiben (Stichwort: Datensicherheit!) so dass auch bei einem Absturz keine Daten verloren gehen.
Eine parralele Installation von SQL Server und MSDE mit Datenabgleich derselben währe vielleicht ne Lösung...
Suche aber etwas einfach zu Installierends.

Über Anregungen und Ideen würde ich mich freuen
Eine Idee wäre mit ClientDatasets zu arbeiten und im Batch-Betrieb die Daten zu synchronisieren. Aber damit habe ich noch nie gearbeitet.

Die alternative wäre das jeder Client einen SQL-Server (gleicher Typ wie Server) und dann die Anwendung nur mit diesen Arbeitet und mittels Synchronisationsmechanismen der Datenbank der Abgleich mit den Hauptdaten erfolgt.

Aber für ein normales Netzwerk/LAN ist das m.E. zu viel Aufwand. Das Netzwerk/SQL-Server muss genauso verfügbar sein wie Strom. Und wenn der nicht da wäre geht auch fast nichts. Für einen Außerhaus-Einsatz wären aber die o.g. Möglichkeiten vorhanden. Aber unterschätze den Aufwand nicht.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Locale Datenspeicherung bei SQL Server Ausfall

  Alt 13. Dez 2006, 17:13
Hallo,

der vom MSSQL Server angebotene Replikationsmechanismus erfordert fast ausschließlich administrativen Aufwand und würde sogar mit MS Access als Publisher funktionieren. Eine verteilte Datenbank durch Replikation an einer zentralen Stelle zu aggregieren ist durchaus ein klassisches Szenario, aber wenn die Motivation für eine dezentrale Transaktionsdatenbank die miese uptime des zentralen SQL Servers sein sollte, dann geht die Forderung nach "Hochverfügbarkeit" auf den dezentralen Server über. Bernhard hat Recht - ohne hochverfügbaren DB-Server ist die Anwendung nicht viel wert.

Freundliche Grüße
  Mit Zitat antworten Zitat
Loewentier

Registriert seit: 21. Jul 2005
Ort: Freiburg
18 Beiträge
 
#4

Re: Locale Datenspeicherung bei SQL Server Ausfall

  Alt 13. Dez 2006, 18:24
Also erstmal vielen Dank für die Anregungen

Das Problem bei meiner Software ist, das es hier um typischerweise 2-24 h Stunden Tests in Pharmazeutischen Großindustrie geht.
(D.h. etwa alle XXX Sekunden mussen Daten über Tabletten gespeichert werden)
Kommt es zu einem Ausfall müsste der komplette Test wiederholt werden was für die Anwender Kosten von ~1000 € verursacht!
Natürlich sollte das Netzwerk performant sein...
Dieses Steckertest Kriterium ist aber neuerdings ein K.O. Kriterium für den Einsatz der Software!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Locale Datenspeicherung bei SQL Server Ausfall

  Alt 13. Dez 2006, 18:39
Zitat von Loewentier:
... etwa alle XXX Sekunden mussen Daten über Tabletten gespeichert werden
Dann müssen alle Daten zuerst in eine lokale Datei geschrieben werden. (Prozess A)
Ein zweiter Prozess (Prozess B) liest die Daten aus der Datei und bucht in die Datenbank.
Selbst wenn Prozess B wegen fehlender Datenbankverb. nicht weiterarbeiten kann, kann Prozess A doch weitermachen.
Anstelle einer lokalen Datei kann auch eine lokale Datenbank (z.B. Jet-Engine) verwendet werden.
Andreas
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Locale Datenspeicherung bei SQL Server Ausfall

  Alt 13. Dez 2006, 18:58
Ich habe soetwas Ähnliches, aber mit SAP als Server. Nun ist SAP ja nicht immer verfügbar, zumindest nicht in dem Betrieb. Manchmal gehts, manchmal nicht.

Die Daten (Lieferergebnisse) werden an eine Text-Datei angehängt.

Der Prozess in SAP liest immer eine Zeile von der TExt-Datei und schiebt sie in SAP. Wenns klappt, wird die Zeile gelöscht. Wenn nicht, dann nicht. Das Ganze natürlich über Synchronisationsmechanismen und einigermaßen performant: Wenn SAP schon mal da ist, kann man ja gleich 1000 Zeilen auf einmal rüberblasen: Ist nach der 900.ten mal wieder Schicht-Im-Schacht, schreibe ich die nicht losgewordenen restlichen Daten einfach wieder zurück. Blöd, klappt aber.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Loewentier

Registriert seit: 21. Jul 2005
Ort: Freiburg
18 Beiträge
 
#7

Re: Locale Datenspeicherung bei SQL Server Ausfall

  Alt 13. Dez 2006, 19:11
Denke auch das das die Lösung ist...

Wenn möglich würde ich etwas eleganteres als eine Text Datei benutzen...
Aber wichtig ist mir vor allem das das ganze Zuverlässig und ohne eine spezielle Konfiguration
(Konnektion Einrichten über Jet Engine etc.) funktioniert.

PS: Habt Ihr schon mal was von SQL-Lite gehört?
Jemand gab mir den Tip das zu benutzen....
Denke aber das bringt nichts
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: Locale Datenspeicherung bei SQL Server Ausfall

  Alt 13. Dez 2006, 19:19
Elegant ist die Textdatei sicherlich nicht, dafür hat sie den Vorteil, das keine lokale DB wegschmieren kann. Von Access würde ich die Finger lassen: Das ist nur im Einzelplatzbetrieb wirklich sicher...

Ein weiterer Vorteil der oberflächlich uneleganten Text-Lösung: Man kann ohne spezielle Software auf die Daten zugreifen und sie ..äh... den Bedürfnissen eines modernen Betriebes anpassen ..äh.. wenn Du verstehst, was ich meine (Auf Deutsch: Mauscheln!) Das war eine Forderung vom Kunden

Alternativ kann man natürlich diese eine Datei durch jeweils eigene Dateien (eine pro Messung) ersetzen. SAP löscht einfach die Dateien, die vollständig und fehlerfrei importiert werden konnten.

Man sollte die 'DB' NTFS nicht unterschätzen.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Loewentier

Registriert seit: 21. Jul 2005
Ort: Freiburg
18 Beiträge
 
#9

Re: Locale Datenspeicherung bei SQL Server Ausfall

  Alt 13. Dez 2006, 20:25
DANKE für eure Hilfe!!!

Werde es mit der NTFS Datenbank versuchen...
Denke auch das ist der einfachste und stabilste Weg
Melde mich wenn es was neues gibt
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz