Beschreibung und Informationen zur Problembehandlung für den Assistenten zum Kopieren von Datenbanken in SQL Server 2000

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 274463 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
274463 Understanding and troubleshooting the Copy Database Wizard in SQL Server 2000
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Der Assistent zum Kopieren von Datenbanken ist ein neues Dienstprogramm in SQL Server 2000, mit dem Sie eine Datenbank von SQL Server 7.0 oder SQL Server 2000 nach SQL Server 2000 kopieren oder verschieben können. Der Prozess des Verschiebens oder Kopierens ist relativ simpel und hat scheinbar keine Auswirkungen auf irgendwelche Komponenten. Dieser Artikel enthält Informationen zur Funktionsweise des Assistenten zum Kopieren von Datenbanken und behandelt einige Aspekte, die bei der Verwendung dieses Assistenten zu beachten sind.

Weitere Informationen

Funktionsweise des Assistenten zum Kopieren von Datenbanken

Gehen Sie folgendermaßen vor, um den Assistenten zum Kopieren von Datenbanken zu öffnen:
  • Klicken Sie im SQL Server Enterprise Manager auf Verwaltung und dann auf Assistenten auswählen.

    -oder-

  • Klicken Sie mit der rechten Maustaste auf den Ordner Datenbanken, klicken Sie auf Alle Tasks, und klicken Sie dann auf Assistent zum Kopieren von Datenbanken...

    -oder-

  • Geben Sie in einer Eingabeaufforderung "Cdw.exe" ein, und drücken Sie dann die [EINGABETASTE].
Der Assistent trennt die Datenbanken, die verschoben oder kopiert werden sollen, kopiert die mit der Datenbank verknüpften Dateien auf den Zielserver, und hängt dann die Datenbank an. Das Trennen und Anhängen der Datenbanken wird durch die folgenden gespeicherten Prozeduren ausgeführt:
  • sp_detach_db

    -und-

  • sp_attach_db
Weitere Informationen zu diesen gespeicherten Prozeduren finden Sie in der Onlinedokumentation für SQL Server unter den Themen "sp_attach_db" und "sp_detach_db".

Das tatsächliche Kopieren der Datei erfolgt über die XP_CMDSHELL, die über eine Befehlszeile den Befehl COPY ausführt. Aus diesem Grund ist es erforderlich, dass das Konto, unter dem der Assistent zum Kopieren von Datenbanken ausgeführt wird, ein Mitglied der Gruppe der Systemadministratoren ist. Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation unter dem Thema "Using the Copy Database Wizard" (Verwendung des Assistenten zum Kopieren von Datenbanken).

Der Assistent führt die folgenden Schritte aus:
  1. Er erstellt einen UNC-Freigabepunkt auf dem Zielcomputer, auf den die Dateien kopiert werden.
  2. Er prüft, ob es aktive Verbindungen in der Quelldatenbank gibt.
  3. Er versetzt die Datenbank in den Einzelbenutzermodus.
  4. Er trennt die Quelldatenbank.
  5. Er überprüft, ob die Dateien auf dem Zielcomputer bereits vorhanden sind, und kopiert die Datenbankdateien dann an den zuvor erstellten Freigabepunkt.
  6. Er hängt die Datenbank auf dem Quellserver wieder an.
  7. Er hängt die Datenbank auf dem Zielserver wieder an.
  8. Er entfernt den UNC-Freigabepunkt.
  9. Er versetzt die Datenbank wieder in ihren ursprünglichen Modus (Einzelbenutzermodus, Mehrbenutzermodus, usw.).
Es gibt vier weitere Features, die es Ihnen ermöglichen, Objekte zu verschieben, die mit der zu kopierenden oder zu verschiebenden Datenbank verknüpft sind.
  • Benutzernamen (empfohlen).
    • Alle zur Laufzeit des Pakets gefundenen Benutzernamen.
    • Nur Benutzernamen, die von den ausgewählten Datenbanken verwendet werden.
  • Gemeinsam genutzte gespeicherte Prozeduren aus der master-Datenbank.
    • Alle zur Laufzeit des Pakets gefundenen gespeicherten Prozeduren.
    • Vom Benutzer ausgewählte gespeicherte Prozeduren.
  • Aufträge aus msdb auswählen (optional).
    • Alle zur Laufzeit des Pakets gefundenen Aufträge.
    • Vom Benutzer ausgewählte Aufträge.
  • Benutzerdefinierte Fehlermeldungen (optional).
    • Alle zur Laufzeit des Pakets gefundenen Fehlermeldungen.
    • Vom Benutzer ausgewählte Fehlermeldungen.

Der Assistent erstellt ein DTS-Paket (DTS = Data Transformation Services)

Der Assistent zum Kopieren von Datenbanken erstellt ein DTS-Paket, das auf dem Zielserver ausgeführt wird (entweder sofort oder zu einem geplanten Zeitpunkt in der Zukunft). Eine Alternative ist, mit dem Dienstprogramm "DTS Designer" manuell eine Kopie des Datenbank-DTS-Pakets zu erstellen und dann auf Task "Datenbank übertragen" zu klicken. Weitere Informationen finden Sie in der Onlinedokumentation zu SQL Server 2000 unter dem Thema Transfer Database Objects Tasks (Tasks von Datenbankobjekten übertragen).

Das Paket wird gespeichert, falls seine einmalige oder regelmäßige Ausführung in der Zukunft geplant ist. Daher muss der SQL Server-Agent auf dem Zielserver gestartet werden. Das DTS-Paket zum Übertragen von Datenbanken muss - auch in Bezug auf die Anforderungen und Berechtigungen für das Einplanen und Ausführen des Pakets - wie jedes andere DTS-Paket behandelt werden. Weitere Informationen zur Behandlung von Problemen mit eingeplanten DTS-Paketen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
269074 INFO: Ausführen eines DTS-Pakets als geplanter Auftrag
Sie können den Assistenten zum Kopieren von Datenbanken auch in Verbindung mit Microsoft SQL Server 7.0 verwenden, wobei die Version 7.0 jedoch nur als Server für die Quelldatenbank fungieren kann. Mit Microsoft SQL Server 6.x oder früheren Versionen kann der Assistent nicht verwendet werden.

Protokoll des Assistenten zum Kopieren von Datenbanken - Protokoll des DTS-Pakets

Ein Protokoll der CDW-Ereignisse wird in der Systemtabelle "MSDB..sysdtspackagelog" gespeichert und kann auch im SQL Enterprise Manager (SEM) eingesehen werden. Gehen Sie folgendermaßen vor, um dieses Protokoll einzusehen:
  1. Öffnen Sie auf dem Zielserver, auf dem das Paket gespeichert ist, den SEM, und erweitern Sie dann den Ordner "Data Transformation Services".
  2. Gehen Sie unter Lokale Pakete zu dem Paket, für das Sie das Protokoll einsehen möchten. Standardmäßig haben diese Pakete den Namen "CDW_SourceServer_DestinationServer_autonumber".
  3. Klicken Sie mit der rechten Maustaste auf das Paket, und klicken Sie dann auf die Option Paketprotokolle.
  4. Klicken Sie unter Versionen und Protokollstruktur des DTS-Pakets auf das Pluszeichen, um die Liste der Protokolle zu erweitern.
Mit diesem Dialogfeld können Sie das/die Protokoll(e) für das betreffende Paket einsehen oder aus dem Dropdown-Feld ein anderes Paket auswählen. Außerdem können Sie nicht benötigte Protokolle löschen, indem Sie auf die Schaltfläche Löschen klicken.

Alternativ können Sie ein DTS-Paket erstellen, das für Problembehandlungszwecke eine Ausgabedatei generiert.
  1. Klicken Sie mit der rechten Maustaste auf das Paket, und klicken Sie dann auf Paket bearbeiten.
  2. Klicken Sie im Menü Paket auf Eigenschaften.
  3. Geben Sie auf der Registerkarte Protokollieren die "errr-Datei" an.

    Diese Datei enthält detaillierte Informationen zur Ausführung des Pakets.

Berechtigungen zum Kopieren der Dateien

Das Startkonto auf dem SQL Server-Zielserver muss ein Domänenkonto sein und auf dem SQL Server-Quellserver über lokale Administratorberechtigungen verfügen, damit die Dateien vom Quellserver auf den Zielserver kopiert werden können.

Wenn der SQL Server-Zielserver unter einem lokalen Systemkonto gestartet wird, kann die folgende Fehlermeldung angezeigt werden:
Der SQL Server-Dienst wird unter dem lokalen Systemkonto ausgeführt. Sie müssen das Konto für den SQL Server-Dienst wechseln, um die Rechte zu haben, Dateien über das Netzwerk zu kopieren.
Wenn der SQL Server-Zielserver unter einem Domänenkonto ohne die Berechtigungen eines lokalen Administrators für den Quellcomputer gestartet wird, kann durch den Assistenten die folgende Fehlermeldung generiert werden:
Schritt - Fehlerquelle: Microsoft Data Transformation Services (DTS)-Paket
Schritt - Fehlerbeschreibung: Unbekannter Fehler

Schritt - Fehlercode: 80004005
Schritt - Hilfedatei für Fehler: sqldts80.hlp
Schritt - Hilfekontext-ID für Fehler: 1100
Wenn Sie auf die Schaltfläche "Weitere Informationen >>>" klicken, werden Sie feststellen, dass die Berechtigungen für die Remotefreigabe nicht vorhanden sind.
Die Freigabe OMWWIZD konnte nicht erstellt werden

Stellen Sie sicher, dass die Datenbank getrennt wird

Wie zuvor bereits erwähnt, trennt der Assistent zum Kopieren von Datenbanken die Quelldatenbank, bevor er sie auf den Zielserver kopiert. Führen Sie den Assistenten zum Kopieren von Datenbanken nicht aus, wenn die Datenbank irgendwie verdächtig ist oder Probleme existieren, die das Trennen oder Anhängen der Datenbank verhindern könnten. Probleme wie beispielsweise E/A-Fehler (zum Beispiel Fehler 823), Datenintegritätsfehler (zum Beispiel beschädigte Tabellen) oder bekannte Hardwareprobleme (zum Beispiel SCSI-Portfehler oder Controllerfehler im Systemereignisprotokoll), können ein erfolgreiches Wiederanhängen der Datenbank verhindern.

Vergewissern Sie sich, dass die Datenbank nicht als "schreibgeschützt", "offline" oder "fehlerverdächtig" gekennzeichnet ist oder den Status "Notfallmodus" oder "Lademodus" aufweist, weil das Trennen der Datenbank in diesen Fällen fehlschlagen würde. Das Trennen schlüge fehl, weil beim Trennungsprozess die Statistiken in der Datenbank aktualisiert werden müssen; ist ein Schreibzugriff auf die Datenbank aus irgendwelchen Gründen nicht möglich, schlägt die Aktualisierung der Statistiken fehl. Kann die Datenbank nicht getrennt werden, weil ein Schreibzugriff auf die Datenbank nicht möglich ist, wird die folgende Fehlermeldung generiert:
Die Datenbank <Datenbankname> konnte nicht getrennt werden.
Wenn Sie auf die Schaltfläche Fehler anzeigen klicken, sehen Sie die folgende Meldung:
Schritt - Fehlerquelle: Microsoft Data Transformation Services (DTS)-Paket
Schritt - Fehlerbeschreibung: Unbekannter Fehler

Schritt - Fehlercode: 80004005
Schritt - Hilfedatei für Fehler: sqldts80.hlp
Schritt - Hilfekontext-ID für Fehler: 1100
Außerdem muss sich die Datenbank im Einzelbenutzermodus befinden oder es dürfen keine Benutzer angemeldet sein, damit sie getrennt werden kann. Wird die Datenbank von mehreren Benutzern verwendet, kann die Ausführung des Assistenten mit der folgenden Fehlermeldung scheitern:
Schritt - Fehlerquelle: Microsoft Data Transformation Services (DTS)-Paket
Schritt - Fehlerbeschreibung: Unbekannter Fehler

Schritt - Fehlercode: 80004005
Schritt - Hilfedatei für Fehler: sqldts80.hlp
Schritt - Hilfekontext-ID für Fehler: 1100
Wenn Sie auf Weitere Informationen klicken, wird Ihnen die folgende Ursache des Problems gemeldet:
Die Datenbank [Datenbankname] hat [N] aktive Verbindungen. Die Datenbank wird nicht übertragen.

Berechtigungen für das Trennen einer Datenbank

Für das Trennen einer Datenbank sind bestimmte Berechtigungen erforderlich. In der Onlinedokumentation zu SQL Server 2000 werden die erforderlichen Berechtigungen wie folgt definiert:
Sie müssen ein Systemadministrator oder ein Mitglied der Gruppe "Sysadmin" sein, um den Assistenten zum Kopieren von Datenbanken verwenden zu können. Wenn Sie mit Microsoft Windows NT® 4.0 oder Microsoft Windows® 2000 arbeiten, muss Ihr Benutzerkonto über Administratorrechte für den Zielserver verfügen.

Vergewissern Sie sich, dass das Zielverzeichnis existiert

Wenn Sie den Assistenten zum Kopieren von Datenbanken im Bildschirmfenster Speicherort der Datenbankdatei verwenden, klicken Sie auf Ändern und bestätigen Sie, dass das Zielverzeichnis korrekt ist. Wenn das Zielverzeichnis nicht vorhanden ist, kann die Ausführung des Assistenten zum Kopieren von Datenbanken mit der folgenden Fehlermeldung fehlschlagen:
Schritt - Fehlerquelle: Microsoft Data Transformation Services (DTS)-Paket
Schritt - Fehlerbeschreibung: Unbekannter Fehler

Schritt - Fehlercode: 80004005
Schritt - Hilfedatei für Fehler: sqldts80.hlp
Schritt - Hilfekontext-ID für Fehler: 1100
Wenn Sie auf die Schaltfläche "Weitere Informationen >>>" klicken, werden Sie feststellen, dass das Verzeichnis nicht existiert.
Die Datei "\\QUELLSERVER\OMWWIZx\Programme\Microsoft SQL Server\MSSQL\Daten\Dateiname_Data.mdf" kann nicht kopiert werden, da das Zielverzeichnis nicht vorhanden ist.

Die Option "Verschieben" entfernt die Datenbank

Wenn Sie die Datenbank nicht kopieren, sondern verschieben, denken Sie daran, dass die Datenbank dadurch vom SQL Server-Quellserver entfernt wird. Genau genommen wird die Datenbank vom Quellserver getrennt und nicht wieder angehängt. Die ursprünglichen Datenbankdateien (.mdf, .ndf, .ldf) verbleiben jedoch auf dem Quellserver. Wenn Sie diese Dateien nicht mehr benötigen und der Speicherplatz knapp zu werden droht, müssen Sie sie manuell löschen. Die folgende Warnung wird im Dialogfeld Abschließen des Assistenten zum Kopieren von Datenbanken angezeigt:
Datenbank "Pubs" wird kopiert, sie steht jedoch nur auf dem Zielserver zur Verfügung. Der Administrator muss die Daten und Protokolldateien für Datenbank "Pubs" auf dem Quellserver löschen.
Wenn Sie die Option zum Verschieben irrtümlich statt der Kopieroption verwendet haben, können Sie diese Dateien jedoch unbesorgt wieder auf dem Server anhängen, um die Datenbank wiederherzustellen.

Verschieben von Benutzernamen

Eine neue Funktion des Assistenten zum Kopieren von Datenbanken erleichtert das bisher problematische manuelle Verschieben von Benutzernamen. Der Assistent identifiziert die zu den Datenbankbenutzern gehörenden Benutzernamen und bietet Ihnen die Option, diese im Rahmen des Kopierens oder Verschiebens der Datenbank ebenfalls zu kopieren oder zu verschieben. Sowohl SQL Server-Standardbenutzernamen für die Authentifizierung als auch Microsoft Windows NT- und Microsoft Windows 2000-Benutzernamen für die Authentifizierung werden durch den Assistenten verschoben.

Frühere Versionen von SQL Server erforderten ein manuelles Verschieben der Benutzernamen, die den Benutzern der zu verschiebenden oder zu kopierenden Datenbank zugeordnet waren. Weitere Informationen zum Verschieben von Benutzernamen mit früheren Versionen von SQL Server finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
168001 Benutzeranmeldungen und Berechtigungen für eine Datenbank können nach Wiederherstellung der Datenbank falsch sein
246133 Übertragen von Benutzernamen und Kennwörtern zwischen Instanzen von SQL-Server
Beachten Sie, dass lokale Windows NT-/2000-Gruppen und -Benutzer, denen der Anmeldezugriff auf SQL Server gestattet ist, nicht von einem Computer auf einen anderen übertragen werden können. Ein derartiger Versuch würde fehlschlagen. Wenn Sie auf "Weitere Informationen >>>" klicken, wird Ihnen die folgende Ursache des Problems gemeldet:
"Übertragung des Benutzernamens Quellcomputer\Lokale Gruppe 1 fehlgeschlagen" ("Transfer Login SourceMachine\LocalGroup1 Failed ")
-oder-
"Übertragung des Benutzernamens Quellcomputer\Lokaler Benutzer 1 fehlgeschlagen" ("Transfer Login SourceMachine\LocalUser1 Failed ")

Datenbank/Dateien sind vorhanden oder nicht genügend Festplattenspeicher

Beim Übertragen einer Datenbank erkennt der Assistent, ob die Datenbank auf dem Zielserver bereits vorhanden ist. Im Dialogfeld Die Datenbanken auswählen, die verschoben oder kopiert werden sollen wird mit dem Status OK angegeben, dass die Datenbanken übertragen werden können, oder es wird darauf hingewiesen, dass die Datenbanken nicht übertragen werden können, weil sie bereits vorhanden sind oder es sich um eine Systemdatenbank wie die master-Datenbank handelt.

Die Übertragung einer Datenbank kann auch gestoppt werden, wenn es auf dem Zielserver bereits identische Datenbankdateien gibt. Sie könnten beispielsweise eine Datenbank namens "MyPubs" mit Dateinamen haben, die mit denen für die Datenbank "Pubs" auf dem Zielserver identisch sind. Diese Dateien sind mit einem roten X markiert.
"Dateien im Quellordner haben dieselben Namen wie Dateien im Zielordner, oder im Zielordner gibt es nicht genügend freien Speicherplatz."
Um diese Fehlermeldung zu vermeiden, ändern Sie entweder die Namen der auf dem Zielserver zu erstellenden Dateien, oder ändern Sie den Speicherort, an dem diese angelegt werden sollen.

Die Übertragung einer Datenbank kann auch durch einen Mangel an Speicherplatz auf dem Zielserver erschwert werden. Wählen Sie ein anderes Laufwerk oder löschen Sie einige Dateien, um Speicherplatz freizumachen.

Volltextsuche wird gestoppt. Volltext-Katalogdateien werden nicht übertragen

Falls die Datenbank Volltextkataloge enthält, hat das Übertragen der Datenbank mit dem Assistenten für das Kopieren von Datenbanken zwei Auswirkungen. Zunächst wird das Durchsuchen der Volltextkataloge durch den Assistenten beendet, damit die Datenbank in den Einzelbenutzermodus versetzt werden kann. Zweitens werden die Volltextkataloge durch den Assistenten nicht verschoben. Wenn Sie versuchen, eine Volltext-Suchabfrage auf dem SQL-Quellserver oder -Zielserver auszuführen, nachdem der Assistent zum Kopieren von Datenbanken ausgeführt wurde, kann Ihnen die folgende Fehlermeldung angezeigt werden:
Server: Msg 7616, Ebene 16, Status 1, Zeile 1
Volltextsuche ist für die aktuelle Datenbank nicht aktiviert. Verwenden Sie sp_fulltext_database, um die Volltextsuche für die Datenbank zu aktivieren.
Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
303224 UPDATE: Verwendung von dem Assistenten zum Kopieren von Datenbanken, eine Datenbank zu kopieren, deaktiviert Voll-Textindizierung in der Quelldatenbank
Gehen Sie folgendermaßen vor, um eine Volltextsuche auf dem SQL Server-Quellserver und dem SQL Server-Zielserver auszuführen:
  1. Führen Sie die folgende gespeicherte Prozedur aus, um die Volltextindizierung für die Quell- und/oder die Zieldatenbank zu aktivieren:
    sp_fulltext_database 'enable'
    					
  2. Führen Sie ein vollständiges Auffüllen aller Kataloge durch.
Die folgenden Informationen zu diesem Thema stammen aus der SQL Server-Onlinedokumentation:
Wenn Sie eine Datenbank mit Volltextkatalogen kopieren möchten, sind die Volltextkataloge für die Datenbank nach dem Kopiervorgang auf dem Quellserver nicht mehr verfügbar. Sie müssen die Volltextkataloge auf dem Zielserver manuell wieder auffüllen.

Wenn Sie eine Datenbank mit Volltextkatalogen verschieben möchten, werden die zugeordneten Volltextkatalogdateien nicht mit verschoben, wenn Sie die Datenbank verschieben. Diese Dateien müssen durch den Datenbankadministrator manuell verschoben werden.
Weitere Informationen zum Verschieben von Volltextkatalogen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
240867 Wie Verschieben, Kopieren und sichern Ordnern des Voll-Textkatalog und Dateien zu

Informationsquellen

Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
327270 SQL Server 2000 wird auf Windows Server 2003 Terminal Server Anwendungsserver nicht unterstützt

Eigenschaften

Artikel-ID: 274463 - Geändert am: Mittwoch, 6. Dezember 2006 - Version: 6.2
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Standard Edition
Keywords: 
kbinfo KB274463
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com