AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MSDE Datenbanken auf anderen PC portieren
Thema durchsuchen
Ansicht
Themen-Optionen

MSDE Datenbanken auf anderen PC portieren

Ein Thema von FrankBrin · begonnen am 27. Sep 2006 · letzter Beitrag vom 27. Sep 2006
Antwort Antwort
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#1

MSDE Datenbanken auf anderen PC portieren

  Alt 27. Sep 2006, 07:13
Datenbank: MSDE • Version: Neuest • Zugriff über: TADO
Moin DPler,
ich habe mir auf meinem Rechner mehrere umfangreiche Datenbanken unter MSDE erstellt. Nun möchte ich diese DBen auf einen anderen PC portieren bzw. in einem SETUP Progi (Installshield) die Datenbanken mitinstallieren.
Wie stell ich das am Einfachsten an?

Gruß Frank
Frank Brinschwitz
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: MSDE Datenbanken auf anderen PC portieren

  Alt 27. Sep 2006, 07:20
Moin Frank,

du kannst das per SQL erledigen. BACKUP DATABASE und RESTORE DATABASE sind die beiden Befehle, deren Beschreibung du studieren musst.

Grüße vom marabu
  Mit Zitat antworten Zitat
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: MSDE Datenbanken auf anderen PC portieren

  Alt 27. Sep 2006, 07:28
Hi marabu!
Ja, das hab ich mir schon gedacht und auch über den dbaMgr2k damit gespielt - erfolglos. Über Script hab ich nun keine Erfahrung. Hast du evtl. ein Beispiel für mich? Hab keine Lust alle Seiten der MSDN zu durchsuchen.
Frank
Frank Brinschwitz
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#4

Re: MSDE Datenbanken auf anderen PC portieren

  Alt 27. Sep 2006, 08:35
SQL-Code:
-- der Ordner C:\SQLBackup muss existieren und muss auf einem lokalen beschreibbaren Datenträger liegen
BACKUP DATABASE [MeineDB]
TO
  DISK = 'C:\SQLBackup\MeineDB.bak'
WITH
  NOFORMAT,
  NOINIT,
  NAME = 'Backup, MeineDB',
  NOREWIND,
  NOUNLOAD,
  NOSKIP
SQL-Code:
-- existierende DB "MeineDB", DB wird nach Restore attached
-- Der Ordner DATABASE-DIR muss auf das Verzeichnis der existierenden "MeineDB" zeigen
RESTORE DATABASE [MeineDB]
FROM
  DISK = 'C:\SQLBackup\MeineDB.bak'
WITH
  FILE = 1,
  MOVE '<Hier der Name der MDF Datei von "MeineDB" auf deinem System>
    TO '<DATABASE-DIR>\MeineDB_data.mdf', -- z.B. 'D:\SQLDATA\MeineDB\MeineDB_data.mdf'
  MOVE '<Hier der Name der LDF Datei von "MeineDB" auf deinem System>
    TO '<DATABASE-DIR>\MeineDB_log.ldf', -- z.B. 'D:\SQLDATA\MeineDB\MeineDB_log.ldf'
  NOREWIND,
  NOUNLOAD,
  REPLACE
SQL-Code:
-- nicht existierende DB "MeineDB", DB wird nach Restore attached
-- Der Ordner DATABASE-DIR muss auf einem lokalen Laufwerk liegen und existieren
RESTORE DATABASE [MeineDB]
FROM
  DISK = 'C:\SQLBackup\MeineDB.bak'
WITH
  FILE = 1,
  MOVE '<Hier der Name der MDF Datei von "MeineDB" auf deinem System>
    TO '<DATABASE-DIR>\MeineDB_data.mdf', -- z.B. 'D:\SQLDATA\MeineDB\MeineDB_data.mdf'
  MOVE '<Hier der Name der LDF Datei von "MeineDB" auf deinem System>
    TO '<DATABASE-DIR>\MeineDB_log.ldf', -- z.B. 'D:\SQLDATA\MeineDB\MeineDB_log.ldf'
  NOREWIND,
  NOUNLOAD

EDIT:
Restore-Scripte "universalisiert"
  Mit Zitat antworten Zitat
FrankBrin

Registriert seit: 8. Mär 2005
Ort: Oppenweiler
105 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: MSDE Datenbanken auf anderen PC portieren

  Alt 27. Sep 2006, 08:45
Na das sieht doch gar nicht so schlimm aus!
Vielen Dank für die schnelle Hilfe, werde es gleich ausprobieren

Gruß Frank
Frank Brinschwitz
  Mit Zitat antworten Zitat
Benutzerbild von timog
timog

Registriert seit: 26. Sep 2006
Ort: Landkreis Oldenburg (Oldb)
117 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

Re: MSDE Datenbanken auf anderen PC portieren

  Alt 27. Sep 2006, 08:53
Hallo Frank,

notfalls - aber wirklich nur im Notfall - kann man ja noch immer die DB Engine auf dem Entwicklungsrechner beenden, die mdf und ldf dann kopieren und auf dem neuen System mit ATTACH im dbaMgr2k oder über die Kommandozeile wieder einlesen.

1) Mit dbaMgr2k
Auf http://www.asql.biz/files/DbaMgr-DbaMgr2K.doc (Achtung: Word Dokument) ist eine Anleitung, wie man das innerhalb von dbaMgr2k macht (Seite 32).

2) Kommandozeile mit osql und Stored Procedures
SQL-Code:
EXEC sp_attach_db @dbname = N'dbname', @filename = N'filepath\filename.mdf'

EXEC sp_attach_db 'Test', 'c:\Mssql\Data\Test.mdf'
3) Über einen ADO Provider String:
"Provider = SQLOLEDB.1; User ID = your_user_id; Password = your_password;Initial Catalog = db_name; Data Source = server_name;
Initial File Name = db_file_path\db_file_name.mdf"
Quelle: http://support.microsoft.com/kb/231923/EN-US/

Um das Lesen der Doku wirst Du aber wohl kaum herumkommen! Lies zumindest mal http://www.codeproject.com/database/...ect=1112494#14

SQL-Skript ist aber sicherlich die saubere Lösung

Viele Grüße

Timo
Timo
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz