Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

MS SQL Server Forum


Alles zum Thema Microsoft SQL Server — Q & A zu Microsoft SQL Server 2000 / 2005 / 2008 Architektur, Konfiguration, Troubleshooting


Antwort
     
Themen-Optionen
Alt 12.12.2009, 22:58   #11
Expert Member
 
Offline
Registriert seit: 04-2007
Ort: Horgen, Schweiz
Beiträge: 4.482
Zitat von NilsK Beitrag anzeigen
Mit T-SQL (als Sprache) hat das recht wenig zu tun. Applikationen können sich nicht an der Transaktionssteuerung vorbeimogeln
Wobei man hierzu noch sagen muss das mit Autocommit in einer falsch programmierten Applikation die Datenbank nachher logisch (d.h. auf Applikations-Ebene, nicht auf SQL-Server Ebene) korrupt sein kann, bzw. Geschäftsprozesse nur halb gelaufen sind aber als "komplett" markiert sind.

Leider gibt es sehr viele Software auf dem Markt die nicht richtig entwickelt wurde. Der Preis sagt dabei leider überhaupt nichts aus, auch bei Namhaften Herstellern kann dies vorkommen, speziell wenn Anpassungen für euch durchgeführt wurden.
    Mit Zitat antworten
Alt 13.12.2009, 00:27   #12
Moderator
 
Benutzerbild von Lian
 
Offline
Registriert seit: 11-2000
Beiträge: 16.068
Bei einem teuren Unterbau mit aufwendiger Architektur sollte man auch die Applikation(en) genau beleuchten.
Zitat von LukasB Beitrag anzeigen
Wobei man hierzu noch sagen muss das mit Autocommit in einer falsch programmierten Applikation die Datenbank nachher logisch (d.h. auf Applikations-Ebene, nicht auf SQL-Server Ebene) korrupt sein kann, bzw. Geschäftsprozesse nur halb gelaufen sind aber als "komplett" markiert sind.
Genau das meinte ich.
COMMIT TRANSACTION (Transact-SQL)

Signatur
MVP [Data & Storage - Cluster]

Two hours of trial and error can save ten minutes of manual reading.

    Mit Zitat antworten
Alt 14.12.2009, 08:28   #13
Senior Member
 
Benutzerbild von LangerSN
 
Offline
Registriert seit: 02-2008
Beiträge: 396
Nochmal nachgefragt

Hallo zusammen und vielen Dank für die vielen Antworten am Freitag,
ich hoffe noch auf ein paar Informationen in der neuen Woche zu folgender Frage.

Welche Vorkehrungen müsste ich treffen um den Datenverlust im Falle eines Failovers gegen 0 zufahren? Wenn ich das so wie in den ersten Beiträgen geschrieben habe nur Clustern würde, dann wären die Informationen aus dem Arbeitsspeicher des Aktiven Notes ja verloren.

Bringt mir an dieser Stelle eine Spiegelung des SQL Servers vielleicht wirklich mehr nutzen? Dann würden ja die Datenbestände zweimal vorhanden sein. Was ist mit den Daten aus dem Arbeitsspeicher.

Wie würde das Failover in einem solchen Fall aussehen?

Mit T-SQL müssten dann unsere Entwickler arbeiten. Die Anwendung die wir mit dem SQL Server nutzen wollen wird selbst programmiert.

Signatur
Passed: MCTS(70-236); MCSE W2k3; MCITP EA
In Arbeit: 70-432

    Mit Zitat antworten
Alt 14.12.2009, 08:37   #14
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.376
Moin,

Zitat von LukasB Beitrag anzeigen
Wobei man hierzu noch sagen muss das mit Autocommit in einer falsch programmierten Applikation die Datenbank nachher logisch (d.h. auf Applikations-Ebene, nicht auf SQL-Server Ebene) korrupt sein kann, bzw. Geschäftsprozesse nur halb gelaufen sind aber als "komplett" markiert sind.
Zitat von Lian Beitrag anzeigen
Bei einem teuren Unterbau mit aufwendiger Architektur sollte man auch die Applikation(en) genau beleuchten.
völlig richtig. Das sind dann einige der Fälle, in denen ein Cluster überhaupt nichts bringt. Das liegt dann in der Hand des Applikationsentwicklers und ist keine Schwäche der Transaktionssteuerung des SQL Server.

Gruß, Nils

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Alt 14.12.2009, 08:41   #15
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.376
Moin,

Zitat von LangerSN Beitrag anzeigen
Welche Vorkehrungen müsste ich treffen um den Datenverlust im Falle eines Failovers gegen 0 zufahren? Wenn ich das so wie in den ersten Beiträgen geschrieben habe nur Clustern würde, dann wären die Informationen aus dem Arbeitsspeicher des Aktiven Notes ja verloren.
wie schon geschrieben: Datenverlust aus dem nicht versorgten RAM kann nicht auftreten, wenn es um einen Serverfehler geht. Genau dafür ist ja das Transaktionsprotokoll da. Nur wenn der Server und das Log-Volume gleichzeitig kaputtgingen, träte Datenverlust auf. Um dieses Risiko zu mindern, setzt man auf ein entsprechend abgesichertes Storage-System.

Mit T-SQL müssten dann unsere Entwickler arbeiten. Die Anwendung die wir mit dem SQL Server nutzen wollen wird selbst programmiert.
Dann sollten sich eure Entwickler rechtzeitig und ausführlich genug damit beschäftigen, denn erfahrungsgemäß ist sehr oft die Applikation verantwortlich für Probleme.

Gruß, Nils

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Alt 14.12.2009, 09:31   #16
Senior Member
 
Benutzerbild von LangerSN
 
Offline
Registriert seit: 02-2008
Beiträge: 396
Failover

Das heißt auch bei einem Failoverclustering würde mir keine Informationen verloren gehen wenn durchweg von der Anwendung T-SQL sauber verwendet wird. Im Falle von einem Failover würde der 2. Knoten übernehmen und dann die entsprechenden Informationen aus dem Transaktionsprotokoll entnehmen können.

Ist das so korrekt verstanden?

Signatur
Passed: MCTS(70-236); MCSE W2k3; MCITP EA
In Arbeit: 70-432

    Mit Zitat antworten
Alt 14.12.2009, 09:48   #17
Expert Member
 
Offline
Registriert seit: 04-2007
Ort: Horgen, Schweiz
Beiträge: 4.482
Zitat von LangerSN Beitrag anzeigen
Das heißt auch bei einem Failoverclustering würde mir keine Informationen verloren gehen wenn durchweg von der Anwendung T-SQL sauber verwendet wird.
Genau - eine Transaktion ist dann entweder nicht abgeschlossen oder abgeschlossen. Die Applikation muss aber natürlich in der Lage sein sich von einer fehlgeschlagenen Transaktion zu erholen - wie dies bei euch konkret aussieht ist natürlich sehr von der Applikation abhängig.

Evtl. kann es hier sinnvoll sein wenn ihr externe Hilfe beizieht die auf diesem Gebiet bereits über Erfahrung verfügt.
    Mit Zitat antworten
Alt 14.12.2009, 09:54   #18
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.376
Moin,

ja, das ist richtig dargestellt. Wobei, wie gesagt, SQL Server sowieso nur über T-SQL kommuniziert, das allein ist also nicht der Punkt. Die Anwendungslogik muss so aufgebaut sein, dass die definierten Transaktionen auch tatsächlich einen konsistenten Stand ergeben - wie Lukas korrekt betont.

Gruß, Nils

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Alt 14.12.2009, 10:10   #19
Moderator
 
Benutzerbild von Lian
 
Offline
Registriert seit: 11-2000
Beiträge: 16.068
Jup, korrekt.

So wird ein Schuh d'raus

Signatur
MVP [Data & Storage - Cluster]

Two hours of trial and error can save ten minutes of manual reading.

    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
2K8R2 - Umzug VMs von 2008 Cluster zu 2008 R2 Cluster KidStealth Virtualisierung 4 03.05.2010 13:21
SQL 2005 im Windows 2008 Cluster sabine79 MS SQL Server Forum 3 15.12.2009 10:02
Windows 2008 Server Cluster Probleme Thyral Windows Forum — LAN & WAN 7 03.08.2009 17:46
2K8 - Windows Server 2008 Failover Cluster keine Freigabe Alex_bonsai Windows Server Forum 13 28.11.2008 11:57
Server 2008 mit SQL-Server 2005 oder SQL-Server 2008 als Cluster chriss1904 Windows Forum — Allgemein 13 12.08.2008 22:50


Alle Zeitangaben in MEZ/CET. Es ist jetzt 22:24 Uhr. Seite generiert in 0,041 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang