REFLEX: Datenbank-Updates: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
(Prüfung der Zugriffsrechte unter Microsoft-SQL-Server)
Zeile 37: Zeile 37:
 
== Prüfung der Zugriffsrechte unter Microsoft-SQL-Server ==
 
== Prüfung der Zugriffsrechte unter Microsoft-SQL-Server ==
  
Der Microsoft-SQL-Server© hat die Eigenschaft, dass neue Tabellen bei fehlenden Admin-Rechten zwar angelegt werden, aber unter dem Namen des SQL-Users! Das Problem dabei ist, dass es zu keiner Fehlermeldung beim Anlegen einer neuen Tabelle kommt. Die Tabelle ist aber nur für den User sichtbar, der sie angelegt hat! Andere User des SQL-Servers sehen diese Tabelle nicht.
+
Der Microsoft-SQL-Server© hat die Eigenschaft, dass neue Tabellen bei '''fehlenden Admin-Rechten''' zwar angelegt werden, aber unter dem '''Namen des SQL-Users'''! Das Problem dabei ist, dass es zu keiner Fehlermeldung beim Anlegen einer neuen Tabelle kommt. Die Tabelle ist aber '''nur für den User''' sichtbar, der sie angelegt hat! Andere User des SQL-Servers sehen diese Tabelle '''nicht'''.
  
Im schlimmsten Fall wird die Tabelle später von einem Admin angelegt, was nun zu einem merkwürdigen Effekt kommt:
+
Im schlimmsten Fall wird die Tabelle später von einem Admin angelegt, was nun zu einem merkwürdigen Effekt führt.
 +
 
 +
=== Ein merkwürdiger Effekt ===
  
 
* Der User, der die ursprüngliche Tabelle (falsch) angelegt hat, kann Daten eintragen.
 
* Der User, der die ursprüngliche Tabelle (falsch) angelegt hat, kann Daten eintragen.
 +
 
* Die User, die auf die vom Admin angelegte Tabelle zugreifen, sehen diese Daten nicht!
 
* Die User, die auf die vom Admin angelegte Tabelle zugreifen, sehen diese Daten nicht!
  
Deshalb wird ab Release 150707 vor dem Ausführen des Update-Scripts geprüft, ob mit der aktuellen User-Anmeldung das Recht auf das Anlegen von Tabellen vorhanden ist.
+
=== Prüfung ===
 +
 
 +
Deshalb wird ab '''Release 150707''' vor dem Ausführen des Update-Scripts geprüft, ob mit der aktuellen User-Anmeldung das Recht auf das Anlegen von Tabellen vorhanden ist.
  
 
Das Programm legt dazu eine temporäre Tabelle "CreateCheck_(DATUM)_(UHRZEIT)" an, schreibt Testdaten hinein und liest diese wieder aus. Zu Schluss wird diese Tabelle wieder gelöscht.
 
Das Programm legt dazu eine temporäre Tabelle "CreateCheck_(DATUM)_(UHRZEIT)" an, schreibt Testdaten hinein und liest diese wieder aus. Zu Schluss wird diese Tabelle wieder gelöscht.
Zeile 54: Zeile 59:
 
In diesem Beispiel wurde eine temporäre Tabelle unter dem User "Guest" angelegt. Nach der Prüfung wird diese wieder gelöscht. Sollte der aktuelle User dazu aber kein Recht haben, geht das natürlich nicht und ein Admin sollte diese Tabelle manuell löschen.
 
In diesem Beispiel wurde eine temporäre Tabelle unter dem User "Guest" angelegt. Nach der Prüfung wird diese wieder gelöscht. Sollte der aktuelle User dazu aber kein Recht haben, geht das natürlich nicht und ein Admin sollte diese Tabelle manuell löschen.
  
 +
=== Meldung bei fehlendem Recht ===
 +
 +
Wenn es nicht genügend Rechte gibt, wird diese Meldung angezeigt:
  
 +
[[Datei:REFLEX_Datenbankupdate_Guest_Message.png]]
  
 +
=== Prüfung ausschalten ===
  
 +
Wenn diese Prüfung aus irgendeinem Grund ausgeschaltet werden soll, kann man das mit diesem Optionsfeld machen:
  
 +
[[Datei:REFLEX_Datenbankupdate_Guest_Checkbox.png]]
  
 
== Durchführen des Datenbank-Updates ==
 
== Durchführen des Datenbank-Updates ==

Version vom 7. Juli 2015, 14:14 Uhr

1 Allgemeines

Von Zeit zu Zeit ändert sich am Programm etwas, was auch ein Datenbank-Update notwendig macht, z.B. wenn zusätzliche Felder eingefügt werden. Wenn Sie also ein Programm-Update erhalten und dieses benutzen wollen, muss manchmal auch die Datenbank „upgedatet“ werden. REFLEX hat aber ein Versionskontrollsystem, das automatisch die Datenbank-Versionen vergleicht und Sie beim ersten Start des neuen Programms auf ein notwendiges Datenbank-Update aufmerksam macht.

Beispiel:

Datenbank-Update

2 Wenn Sie NICHT der Datenbank-Administrator sind:

  • Klicken Sie unbedingt auf die Schaltfläche Abbruch!
  • Informieren Sie Ihren Datenbank-Administrator über die Meldung!
  • Arbeiten Sie nicht mit REFLEX, solange Ihnen der Datenbank-Administrator kein OK gibt!

3 Wenn Sie der Datenbank-Administrator sind:

Sie sollten diese Frage mit OK bestätigen, damit die Datenbank auf den neuesten Stand gebracht wird! Das neue Programm kann sonst u.U. nicht richtig funktionieren.

Achtung 64.jpg
Dazu müssen folgende Voraussetzungen erfüllt sein:

4 Voraussetzungen für das Datenbank-Update

  • Sie müssen unbedingt über Administrator-Rechte auf dem SQL-Server verfügen!
  • Es genügt nicht, dass Sie auf dem Server Admin-Rechte haben!
  • Administrator-Rechte auf dem SQL-Server haben nichts zu tun mit Administrator-Rechte auf dem Server!
  • Alle REFLEX-Benutzer müssen das Programm schließen und dürfen es erst wieder benutzen, wenn das Datenbank-Update erfolgreich durchgeführt wurde.
    • Sie können dazu kontrollieren, ob in der Anzeige der Lizenzen/Benutzer alle Benutzer REFLEX geschlossen haben.
    • Sie können in den Programmparameter und Einstellungen unter Admin-Funktionen den Programmzugriff sperren. Damit können sich Nicht-Admin-Benutzer nicht mehr an das Programm anmelden. Angemeldete Benutzer erhalten eine Meldung, dass sich das Programm bald beendet, nach ca. 5 Minuten werden die Benutzer abgemeldet und das Programm geschlossen!

4.1 Hintergrund:

Ein Server ist ein Rechner, der zumeist Dateien freigibt. Dafür gibt es bestimmte Zugriffsrechte, die festlegen, welcher Benutzer auf welche Verzeichnisse zugreifen darf und mit welchen Berechtigungen.

Ein SQL-Server ist eine Software, die eine Datenbank verwaltet. Die Zugriffsrechte auf die die Datenbank haben nichts zu tun mit den Rechten auf Verzeichnisse des Servers!


5 Prüfung der Zugriffsrechte unter Microsoft-SQL-Server

Der Microsoft-SQL-Server© hat die Eigenschaft, dass neue Tabellen bei fehlenden Admin-Rechten zwar angelegt werden, aber unter dem Namen des SQL-Users! Das Problem dabei ist, dass es zu keiner Fehlermeldung beim Anlegen einer neuen Tabelle kommt. Die Tabelle ist aber nur für den User sichtbar, der sie angelegt hat! Andere User des SQL-Servers sehen diese Tabelle nicht.

Im schlimmsten Fall wird die Tabelle später von einem Admin angelegt, was nun zu einem merkwürdigen Effekt führt.

5.1 Ein merkwürdiger Effekt

  • Der User, der die ursprüngliche Tabelle (falsch) angelegt hat, kann Daten eintragen.
  • Die User, die auf die vom Admin angelegte Tabelle zugreifen, sehen diese Daten nicht!

5.2 Prüfung

Deshalb wird ab Release 150707 vor dem Ausführen des Update-Scripts geprüft, ob mit der aktuellen User-Anmeldung das Recht auf das Anlegen von Tabellen vorhanden ist.

Das Programm legt dazu eine temporäre Tabelle "CreateCheck_(DATUM)_(UHRZEIT)" an, schreibt Testdaten hinein und liest diese wieder aus. Zu Schluss wird diese Tabelle wieder gelöscht.

Wenn ein Update-Script mit fehlenden Rechten ausgeführt werden soll, könnte das beispielsweise so aussehen:

REFLEX Datenbankupdate Guest.png

In diesem Beispiel wurde eine temporäre Tabelle unter dem User "Guest" angelegt. Nach der Prüfung wird diese wieder gelöscht. Sollte der aktuelle User dazu aber kein Recht haben, geht das natürlich nicht und ein Admin sollte diese Tabelle manuell löschen.

5.3 Meldung bei fehlendem Recht

Wenn es nicht genügend Rechte gibt, wird diese Meldung angezeigt:

REFLEX Datenbankupdate Guest Message.png

5.4 Prüfung ausschalten

Wenn diese Prüfung aus irgendeinem Grund ausgeschaltet werden soll, kann man das mit diesem Optionsfeld machen:

REFLEX Datenbankupdate Guest Checkbox.png

6 Durchführen des Datenbank-Updates

6.1 Dieses Fenster informiert Sie über den Stand des Datenbank-Updates:

REFLEX Datenbank-Update Fenster.jpg

1 Anzeige der einzelnen Schritte des Datenbank-Updates im Protokoll-Fenster:
Hier werden die erfolgreichen Aktionen und auch ggf. Fehler angezeigt, die während des Updates aufgetreten sind.
2 Anzeige des aktuellen Schrittes des Datenbank-Updates:
Je nach Umfang des Datenbank-Updates und der Größe der Datenbank kann es mehrere Minuten dauern, bis das Update durchgelaufen ist!
Unterbrechen Sie das Update auf gar keinen Fall!

6.2 Datenbank-Update erfolgreich

Wenn das Datenbank-Update ohne Fehler durchgeführt werden konnte, wird diese Meldung angezeigt:

REFLEX Datenbank-Update Erfolgreich.jpg

Das Datenbank-Update wurde ohne Fehler ausgeführt. Sie können das neue Programm benutzen!

6.3 Datenbank-Update nicht erfolgreich

Wenn beim Datenbank-Update Fehler aufgetreten sind, werden diese im Protokoll-Fenster angezeigt. Beispiel:

REFLEX Datenbank-Update Fehler.jpg

Wenn Fehler angezeigt werden, sollten Sie diese dem GEVITAS-Support mitteilen. Sie können dazu mit den Schaltflächen des Protokoll-Fensters:

  • Das Protokoll ausdrucken.
  • Das Protokoll in eine Textdatei speichern und per Mail an den Support schicken.

7 Links

Alle genannten Warenzeichen sind Eigentümer der Warenzeichen-Inhaber. Alle Angaben ohne Gewähr. Die genannten Probleme sagen nichts über die Qualität der genannten Produkte aus.