SQL-Server 2008 R2 Express Backup / Restore

merlin.AT

Neuer Benutzer
Beiträge
1
Hallo

Ich erstelle im Moment mit dem folgenden Befehl ein Backup meiner DB.
Code:
BACKUP DATABASE [Pruefvorrichtung_10]
    TO DISK = N'C:\Runtime\Backups\Pruefvorrichtung_10.bak'
  WITH NOFORMAT, INIT,  NAME = N'Pruefvorrichtung_10-Vollständig Datenbank Sichern', SKIP, NOREWIND, NOUNLOAD, CONTINUE_AFTER_ERROR
 
GO

Funktioniert soweit perfekt.

Wenn ich die DB jetzt ein einen frischen SQL-Server als Erst-DB restore habe ich ein Problem mit den Usern. Die User werden in der DB selbst mit wiederhergestellt. AM SQL-Server an sich in den Securitys jedoch nicht.

Wie kann ich das hinbiegen?

Danke, Thomas
 
Werbung:
Hi,

was den Umzug von Datenbanken angeht, habe ich eine Anleitung von Microsoft gefunden. Hier wird zwar der Umzug auf eine neuere SQL Server-Version beschrieben, aber eine andere Beschreibung dazu habe ich noch nirgendwo gesehen. (Hab aber jetzt auch nicht weiter danach gesucht).

Link: http://support.microsoft.com/kb/246133

Generell ist es jedoch so, dass bei einem Backup die Anmeldungen des SQL Server Systems nicht angepasst oder ergänzt werden.
Wird in einem DB-Backup ein Username genutzt, der in den Anmeldungen der SQL Server Instanz eingetragen ist, so wird hier eine automatische Zuordnung möglich (GUID)

Wenn es nicht viele Anmeldungen sind, ist der manuelle Weg aber wahrscheinlich noch der schnellste. Das funktioniert aber nur wirklich sauber, wenn es sich um AD-Anmeldungen handelt und somit die GUID gleich bleibt. (AD = Active Directory)

Vorgehen :
1. im DB-Backup ermittelnt, welche Berechtigung für die einzelnen Anmeldungen vergeben sind (Hier kann's kompliziert werden, wenn auf einzelne Objekte explizite Berechtigungen vergeben sind!)
2. im DB-Backup die Anmeldenamen löschen
3. Anmeldenamen in der Security der SQL Server Instanz wieder anlegen und Benutzerzuordnung auf das DB-Backup vergeben
4. Explizite Berechtigungen von Objekten im DB-Backup eintragen

Bei kleinen DBs ist das noch in erträglichen Rahmen für Zeit und Aufwand. (Vor allem, wenn du das Backup bereits eingespielt hast)
Bei größeren DBs sollte definitiv der automatisierte Weg genutzt werden (siehe Link).

Den nachträglichen Aufwand mit löschen der Anwender aus dem Backup, Neuanlage und Neu-Zuweisung der Benutzerzuordnung kannst du verkürzen, indem du VOR einspielen des Backups die notwendigen Anmeldungen schon verfügbar hast. (siehe Link).
Wenn die neuen Anmeldungen angelegt werden, kann es hier bei reinen SQL-Server-Anmeldungen zu einem Problem kommen, da sich die GUID der neuen Anmeldung und die aus dem DB-Backup unterscheiden! Bei AD-Anmeldungen besteht dieses Problem nicht, da die GUID ja bereits in der AD festhehalten wird.


Viele Grüße,
Tommi
 
Zurück
Oben