Freigeben über


Datenbanken übertragen (Task)

Der Task "Datenbanken übertragen" verschiebt eine SQL Server-Datenbank zwischen zwei Instanzen von SQL Server. Im Gegensatz zu den anderen Tasks, die lediglich SQL Server-Objekte durch Kopieren verschieben, kann der Task "Datenbanken übertragen" eine Datenbank entweder kopieren oder verschieben. Der Task kann eine Datenbank zwischen Instanzen von SQL Server 2000, Instanzen von SQL Server oder zwischen jeweils einer aus allen Instanzen kopieren. Dieser Task kann auch verwendet werden, um eine Datenbank innerhalb eines Servers zu kopieren.

Die Datenbank kann im Online- oder im Offlinemodus übertragen werden. Wenn Sie den Onlinemodus verwenden, bleibt die Datenbank verbunden und wird mithilfe des SMO-Objekts (SQL Management Object) zum Kopieren der Datenbankobjekte übertragen. Wenn Sie im Offlinemodus arbeiten, wird die Datenbankverbindung getrennt, die Datenbankdateien werden kopiert oder verschoben, und die Datenbank wird am Ziel verbunden, nachdem die Übertragung erfolgreich abgeschlossen wurde. Wenn die Datenbank kopiert wird, wird sie automatisch an der Quelle neu verbunden, falls der Kopiervorgang erfolgreich ist. Im Offlinemodus wird die Datenbank schneller kopiert, sie steht jedoch den Benutzern während der Übertragung nicht zur Verfügung.

Im Offlinemodus müssen Sie die Netzwerkdateifreigaben auf den Quell- und Zielservern angeben, auf denen sich die Datenbankdateien befinden. Ist der Ordner freigegeben und kann vom Benutzer darauf zugegriffen werden, können Sie auf die Netzwerkfreigabe mithilfe der Syntax \\Computername\Programme\myfolder\ verweisen. Anderenfalls müssen Sie die Syntax \\Computername\c$\Programme\myfolder\ verwenden. Um diese Syntax zu verwenden, muss der Benutzer Schreibzugriff auf die Quell- und Zielnetzwerkfreigaben haben.

Sie können angeben, ob der Task versucht, eine erneute Verbindung mit der Quelldatenbank herzustellen, falls die Datenbankübertragung fehlschlägt.

Der Task "Datenbank übertragen" kann auch so konfiguriert werden, dass das Überschreiben einer Zieldatenbank mit demselben Namen nicht zulässig ist und die Zieldatenbank ersetzt wird.

Die Quelldatenbank kann als Teil des Übertragungsprozesses ebenfalls umbenannt werden. Wenn Sie eine Datenbank in eine Zielinstanz von SQL Server übertragen möchten, die bereits eine Datenbank mit demselben Namen enthält, kann die Datenbank durch Umbenennen der Quelldatenbank übertragen werden. Die Dateinamen der Datenbank müssen jedoch auch verschieden sein. Wenn bereits Datenbankdateien mit denselben Namen am Ziel vorhanden sind, schlägt der Task fehl.

Wenn Sie eine Datenbank kopieren, kann die Datenbank nicht kleiner als die model-Datenbank auf dem Zielserver sein. Sie können entweder die zu kopierende Datenbank vergrößern, oder die Größe der model-Datenbank reduzieren.

Zur Laufzeit stellt der Task "Datenbank übertragen" eine Verbindung mit den Quell- und Zielservern her. Dazu werden ein oder zwei SMO-Verbindungs-Manager verwendet. Wenn Sie eine Datenbankkopie auf demselben Server erstellen, wird nur ein SMO-Verbindungs-Manager benötigt. Die SMO-Verbindungs-Manager werden getrennt vom Task "Datenbanken übertragen" konfiguriert. Es wird darauf dann im Task "Datenbank übertragen" verwiesen. Die SMO-Verbindungs-Manager geben den Server- und Authentifizierungsmodus an, der beim Zugriff auf den Server verwendet werden soll. Weitere Informationen finden Sie unter SMO-Verbindungs-Manager.

Übertragen von Datenbanken zwischen verschiedenen Versionen von SQL Server

Der Task Datenbanken übertragen unterstützt SQL Server 2000 und SQL Server. Er kann eine Datenbank zwischen Instanzen von SQL Server 2000, Instanzen von SQL Server und von einer Instanz von SQL Server 2000 auf eine Instanz von SQL Server übertragen.

Ereignisse

Der Task "Datenbanken übertragen" meldet keinen schrittweisen Fortschritt der Fehlermeldungsübertragung; er meldet nur 0 % und 100 % der Ausführung.

Ausführungswert

Der in der ExecutionValue-Eigenschaft des Tasks definierte Ausführungswert gibt den Wert 1 zurück, da der Task "Datenbank übertragen" im Gegensatz zu anderen Übertragungstasks nur eine Datenbank übertragen kann.

Indem der ExecValueVariable-Eigenschaft des Tasks "Datenbanken übertragen" eine benutzerdefinierte Variable zugewiesen wird, können Informationen über die Fehlermeldungsübertragung anderen Objekten im Paket zur Verfügung gestellt werden. Weitere Informationen finden Sie unter SQL Server Integration Services-Variablen und Verwenden von Variablen in Paketen.

Protokolleinträge

Der Task "Datenbanken übertragen" enthält die folgenden benutzerdefinierten Protokolleinträge:

  • SourceSQLServer    Dieser Protokolleintrag gibt den Namen des Quellservers an.

  • DestSQLServer    Dieser Protokolleintrag gibt den Namen des Zielservers an.

  • SourceDB    Dieser Protokolleintrag gibt den Namen der übertragenen Datenbank an.

Außerdem wird beim Überschreiben der Zieldatenbank ein Protokolleintrag für das OnInformation-Ereignis geschrieben.

Sicherheit und Berechtigungen

Wenn Sie eine Datenbank im Offlinemodus übertragen, muss der Benutzer, der das Paket ausführt, Mitglied der sysadmin-Serverrolle sein.

Um eine Datenbank im Onlinemodus zu übertragen, muss der Benutzer, der das Paket ausführt, Mitglied der sysadmin-Serverrolle oder Datenbankbesitzer (dbo) der ausgewählten Datenbank sein.

Konfigurieren des Tasks "Datenbanken übertragen"

Eigenschaften können Sie mit dem SSIS-Designer oder programmgesteuert festlegen.

Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu den Eigenschaften zu erhalten, die Sie im SSIS-Designer festlegen können:

Klicken Sie auf das folgende Thema, um weitere Informationen zum Festlegen dieser Eigenschaften im SSIS-Designer zu erhalten:

Programmgesteuertes Konfigurieren des Tasks "Datenbanken übertragen"

Klicken Sie auf das folgende Thema, um weitere Informationen zum programmgesteuerten Festlegen dieser Eigenschaften zu erhalten:

Integration Services (kleines Symbol) Bleiben Sie mit Integration Services auf dem neuesten Stand

Die neuesten Downloads, Artikel, Beispiele und Videos von Microsoft sowie ausgewählte Lösungen aus der Community finden Sie auf der Integration Services-Seite von MSDN oder TechNet:

Abonnieren Sie die auf der Seite verfügbaren RSS-Newsfeeds, um automatische Benachrichtigungen zu diesen Aktualisierungen zu erhalten.