greenavatar
Goto Top

Datenmigration von SQL Server 2005 Enterprise nach SQL Server 2008 Express

Hallo,

ich bin im Bereich Entwicklung tätig (Internet, Extranet, Intranet, vorwiegend mit MS SQL Server und ASP) und habe eine Frage zum MS SQL Server 2008 Express:

Ist es möglich, Datenbanken aus dem SQL Server 2005 Enterprise in einen SQL Server 2008 Express zu importieren?

Dazu ein paar Details: (Ich hoffe, ich vergesse nichts. Wenn doch, hakt ruhig nach.)

- Dass eine *.MDF im SQL Server 2008 Express max. 4 GB groß sein darf, habe ich schon nachgelesen. Das bekomme ich mit Ach und Krach hin.

- Gibt es Restriktionen, was die Größe der *.LDFs betrifft? Gut ... wenn ja, den Inhalt der *.LDFs kann ich plattmachen. (Weiß, wie das geht.) Der Inhalt der Logs ist für mich ziemlich wertlos.

- Wichtig: Der SQL Server 2005 Enterprise arbeitet mit SQL Server DB-Benutzern (Mir fällt gerade nicht ein, wie dieser Modus heißt. Ihr wisst schon, was ich meine: SQL Server Benutzer eben, die im Management Studio angelegt werden, der sa usw.). Der Zugriff auf die Datenbanken aus meinem ASP-Code erfolgt über diese SQL Server DB-Benutzer (mit ADO OLEDB).
Dazu müssen bei den Datenbanken die entsprechenden SQL Server Benutzer eingetragen sein.

Hier schon meine nächste Frage: Arbeitet der SQL Server 2008 Express ebenfalls mit SQL Server Benutzern oder habe ich hier einen anderen Zugriffsmode? (Bspw. Autentifizierung über Windows-Benutzer?) Das wäre sehr schlecht. Wenn's so wäre, was müsste ich tun? Überall im ASP-Programmcode wird per SQL Server Benutzer auf die Datenbanken zugegriffen. Das wäre eine Sch...arbeit, das überall zu ändern.

- Gibt es nur eine Max-Größe für die *.MDFs oder auch eine für den gesamten SQL Server 2008 Express? (Frage zur Vorsicht mal nach.)

- Muss ich im SQL Server 2005 von den Datenbanken *.BAKs erstellen und die im SQL Server 2008 Express zurücksichern oder kann ich einfach die 2005er *.MDFs einbinden/anhängen?
Oder gibt es irgendwelche Konvertierungstools für die Datenbanken?

- Was muss ich sonst noch beachten, was habe ich vergessen?

Grüßle aus dem Schwabenland

Content-ID: 165410

Url: https://administrator.de/contentid/165410

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

MiniStrator
MiniStrator 29.04.2011 um 16:30:13 Uhr
Goto Top
Moin!

Zitat von @greenavatar:
Ist es möglich, Datenbanken aus dem SQL Server 2005 Enterprise in einen SQL Server 2008 Express zu importieren?
Ja
- Gibt es Restriktionen, was die Größe der *.LDFs betrifft? Gut ... wenn ja, den Inhalt der *.LDFs kann ich
plattmachen. (Weiß, wie das geht.) Der Inhalt der Logs ist für mich ziemlich wertlos.
k. A.
Hier schon meine nächste Frage: Arbeitet der SQL Server 2008 Express ebenfalls mit SQL Server Benutzern
Ja
- Gibt es nur eine Max-Größe für die *.MDFs oder auch eine für den gesamten SQL Server 2008 Express?
wieder k.A.
- Muss ich im SQL Server 2005 von den Datenbanken *.BAKs erstellen und die im SQL Server 2008 Express zurücksichern oder kann
ich einfach die 2005er *.MDFs einbinden/anhängen?
Sollte beides möglich sein mit Bordmitteln
- Was muss ich sonst noch beachten, was habe ich vergessen?
Die SQL-User müssen neu angelegt werden nach dem attachen/restoren der DBs. Die stehen da dann zwar drin aber das tut nicht wirklich. Die sollten auch vorher als Logins auf dem Server definiert werden.
Grüßle aus dem Schwabenland
Grüße aus Bayern
MiniStrator
amax2000
amax2000 29.04.2011 um 17:55:59 Uhr
Goto Top

Ist es möglich, Datenbanken aus dem SQL Server 2005 Enterprise in einen SQL Server 2008 Express zu importieren?

--> Ja, .bak erstellen und importieren; Wichtig: in den DB-Eigenschaften das Wiederherstellungsmodell auf 2008 stellen, wenn deine Applikation dies erfordert. Ansonsten auf 2005 weiterlaufen lassen, da nach der Umstellung keine Abwärtskompatibilität!

Dazu ein paar Details: (Ich hoffe, ich vergesse nichts. Wenn doch, hakt ruhig nach.)

- Gibt es Restriktionen, was die Größe der *.LDFs betrifft? Gut ... wenn ja, den Inhalt der *.LDFs kann ich
plattmachen. (Weiß, wie das geht.) Der Inhalt der Logs ist für mich ziemlich wertlos.

--> nein. ldf ist egal, nur die mdf zählt.

- Wichtig: Der SQL Server 2005 Enterprise arbeitet mit SQL Server DB-Benutzern (Mir fällt gerade nicht ein, wie dieser Modus
heißt. Ihr wisst schon, was ich meine: SQL Server Benutzer eben, die im Management Studio angelegt werden, der sa usw.). Der
Zugriff auf die Datenbanken aus meinem ASP-Code erfolgt über diese SQL Server DB-Benutzer (mit ADO OLEDB).
Dazu müssen bei den Datenbanken die entsprechenden SQL Server Benutzer eingetragen sein.

--> Gemischte Authentifizierung: Soweit kein Problem; Solltest Du die Datenbanken aber umziehen und kein Inplace-Upgrade machen, taucht das Phänomen des orphaned users bei Nichtstandardusern auf; Lösung: user neu anlegen mit gleichen Passwörten bzw. Google nach "relink orphaned User" befragen, hilft auch bei vergessenem passwort; ist skript im sql, sollte für dich easy sein, bist ja schließlich Entwickler face-wink


Hier schon meine nächste Frage: Arbeitet der SQL Server 2008 Express ebenfalls mit SQL Server Benutzern oder habe ich hier
einen anderen Zugriffsmode? (Bspw. Autentifizierung über Windows-Benutzer?) Das wäre sehr schlecht. Wenn's so
wäre, was müsste ich tun? Überall im ASP-Programmcode wird per SQL Server Benutzer auf die Datenbanken zugegriffen.
Das wäre eine Sch...arbeit, das überall zu ändern.

-_> s.o., Berechtigungkonzept ähnlich

- Gibt es nur eine Max-Größe für die *.MDFs oder auch eine für den gesamten SQL Server 2008 Express? (Frage
zur Vorsicht mal nach.)


--> nein, MAX DB-size gilt nur pro DB (4GB)

- Muss ich im SQL Server 2005 von den Datenbanken *.BAKs erstellen und die im SQL Server 2008 Express zurücksichern oder kann
ich einfach die 2005er *.MDFs einbinden/anhängen?
Oder gibt es irgendwelche Konvertierungstools für die Datenbanken?

--> Rücksichern macht mehr Laune, da Du hierbei Deine Datenbanken an einem Stück auf die Festplatte bekommst; Um Fragmentierung zu vermeiden legst Du am besten eine leere Datenbank mit .mdf - Startgröße um einiges größer als der tatsächliche Wert (bspw. 3GB Startgrößebei 2GB-mdf) an stellst diese Datenbank dann aus dem 2005er Backup wieder her. Zusätzlich noch die Expansionseinstellungen anpassen, am besten binäre Vielfache wählen und keine %, um Fragmentierung auf der HDD zu vermeiden auch hier große Werte wählen


- Was muss ich sonst noch beachten, was habe ich vergessen?

--> s.o., DB-Einstellungen, Wiedeherstellungsmodell
und Sicherung; der Express hat keinen Agenten, der zeitgesteuerte tasks ausführen kann wie Backups; gib taber eine einfache Lösung über SQLCMD, das in einer Batch aufgerufen wird; läuft per Taskplaner.


VG vom Nichtschwaben ebenfalls aus dem Schwabenländle,


Amax
greenavatar
greenavatar 30.04.2011 um 18:32:22 Uhr
Goto Top
Hallo MiniStrator,

vielen Dank für Deine Hilfe.

Grüße nach Bayern
greenavatar
greenavatar 30.04.2011 um 18:33:13 Uhr
Goto Top
Hallo Amax,

Dir ebenfalls vielen Dank.

Gruß

Tommy