Mod_4 Foren-Moderator
Anmeldedatum: 13.09.2006 Beiträge: 51
|
Verfasst am: Do, 28. Dez. 2006 13:05 Titel: Benutzer auf dem Datenbankserver neu initialisieren |
|
|
Problem:
Beim Umzug der CAWIN-Datenbank auf einen anderen Server oder nach dem Wiederherstellen einer alten Version der CAWIN-Datenbank von der Datensicherung kann es zu Problemen mit den Benutzern kommen. Das Problem fällt meistens bei der Anmeldung an CAWIN auf.
Ursache:
Zur Erläuterung ein kleiner Exkurs in die Benutzerverwaltung des Microsoft SQL Servers (Punkte 1-3) und CAWIN (Punkt 4): Ein "Benutzer" ist an verschiedenen Stellen auf dem Datenbankserver bzw. in der Datenbank vorhanden:
1. Auf dem Datenbankserver ist ein Benutzer als sogenannte Anmeldung vorhanden. Für diese Anmeldung wird auch das Passwort festgelegt. Das Passwort ist also nicht in der Datenbank, sondern auf dem Datenbank-Server, d.h. der konkreten SQL Server-Installation auf einem PC hinterlegt!
2. In der Datenbank gibt es einen Benutzer, dem eine Anmeldung vom Datenbank-Server zugeordnet wird.
3. In der Datenbank gibt es zusätzlich noch Rollen, über die Berechtigungen für die Datenbank vergeben werden. Diese Rollen sind dann wiederum den Benutzern zugeordnet. Die Rollen entsprechen nicht den Rollen aus der CAWIN-Benutzerverwaltung und können auch nicht über CAWIN gepflegt werden!
4. In der CAWIN-Datenbank gibt es eine Tabelle, in der für jeden CAWIN-Anwender ein Datensatz mit der Benutzer-ID und weiteren Einstellungen (z.B. Name, Vorname, Kürzel, Lizenznummer, ...) vorhanden ist. Diese Einstellungen werden über die Benutzerverwaltung von CAWIN gepflegt.
Wenn ein neuer Benutzer über die CAWIN-Benutzerverwaltung angelegt wird, werden alle notwendigen Einträge auf den verschiedenen Ebenen vorgenommen, d.h.
- es wird ein Datensatz in der Tabelle angelegt
- es wird die Anmeldung auf dem Datenbank-Server mit dem Initial-Passwort erzeugt
- in der Datenbank wird für die Anmeldung der entsprechende Benutzer angelegt
- dem Benutzer wird die entsprechende Datenbank-Rolle (cawin) zugeordnet
Wird nun die CAWIN-Datenbank auf einen anderen PC und damit auch zu einem anderen SQL-Server verschoben wird, fehlt die Anmeldung auf dem Datenbank-Server, der Benutzer kann sich nicht an CAWIN anmelden.
Lösung:
Ab der Version 7.2 gibt es in der Datenbank eine gespeicherte Funktion, die alle CAWIN-Benutzer, die in der o.g. Tabelle enthalten sind, neu anlegt. Falls die Anmeldungen auf dem SQL Server noch nicht vorhanden waren erhalten alle Benutzer ein neues Passwort, dieses ist (auch bei CAWIN 8.0) cawin7. Ab CAWIN 8.1 ist das Passwort cawin8NEU!. Wenn die Anmeldungen schon vorhanden waren behalten die Benutzer ihr altes Passwort.
Für den Aufruf müssen Sie in Windows über [Start] -> [Ausführen] -> ["cmd" eingeben] -> [OK] eine Eingabeaufforderung öffnen. In der Eingabeaufforderung geben Sie dann den folgenden Befehl (inkl. aller Anführungsstriche!) ein:
Code: | oSQL -U sa -S <Datenbank-Server> -d CAWIN -q "EXEC [dbo].[sp_RestoreUser]" |
Für <Datenbank-Server> setzen Sie den Namen Ihres Datenbank-Servers ein. Sie erhalten den Namen aus den erweiterten Einstellungen bei der CAWIN-Anmeldung. In der Regel besteht der Name des Datenbank-Servers aus dem Namen des PCs und dem Text "\CAWIN", also z.B. "MeinServer\CAWIN".
Nach dem Aufruf werden Sie nach dem Passwort des Datenbankadministrators sa gefragt, dieses Passwort muss Ihnen bekannt sein, ansonsten siehe hier.
Es kommen eventuell einige "Fehlermeldungen" von Benutzern/Anmeldungen die schon richtig angelegt waren, es kommt keine Erfolgsmeldung. Wenn der Cursor in der nächsten Zeile blinkt, können Sie das Fenster schließen. |
|