SQL Server-Objekte kopieren (Task)
Der Task "SQL Server-Objekte übertragen" überträgt mindestens einen Typ von Objekten in eine SQL Server-Datenbank zwischen Instanzen von SQL Server. Der Task kann z. B. Tabellen und gespeicherte Prozeduren kopieren. Je nach SQL Server-Version, die als Quelle verwendet wird, stehen verschiedene Objekttypen zum Kopieren zur Verfügung. Nur eine SQL Server-Datenbank enthält z. B. Schemas und benutzerdefinierte Aggregate.
Der Task "SQL Server-Objekte übertragen" kann so konfiguriert werden, dass alle Objekte eines Typs oder nur bestimmte Objekte eines Typs übertragen werden. Sie können z. B. wählen, ob Sie nur ausgewählte Tabellen in die AdventureWorks-Datenbank kopieren möchten.
Wenn der Task "SQL Server-Objekte übertragen" Tabellen überträgt, können Sie die Typen tabellenbezogener Objekte angeben, die Sie mit den Tabellen kopieren möchten. So können Sie z. B. angeben, dass die Primärschlüssel mit den Tabellen kopiert werden.
Serverrollen, Rollen und Benutzer aus der angegebenen Datenbank können kopiert werden sowie die Berechtigungen für die übertragenen Objekte. Indem die verknüpften Benutzer, Rollen und Berechtigungen zusammen mit den Objekten kopiert werden, können die übertragenen Objekte am Zielserver sofort ausgeführt werden.
Um die Funktionalität der übertragenen Objekte weiter zu verbessern, können Sie den Task "SQL Server-Objekte übertragen" so konfigurieren, dass die Schemanamen, Daten, erweiterten Eigenschaften der übertragenen Objekte sowie die abhängigen Objekte bei der Übertragung berücksichtigt werden. Beim Kopieren von Daten können Sie angeben, ob die bereits vorhandenen Daten ersetzt oder angefügt werden sollen.
Zur Laufzeit stellt der Task "SQL Server-Objekte übertragen" eine Verbindung mit den Quell- und Zielservern her. Dazu werden die SMO-Verbindungs-Manager verwendet. Die SMO-Verbindungs-Manager werden getrennt vom Task "SQL Server-Objekte übertragen" konfiguriert. Darauf wird dann im Task "SQL Server-Objekte ü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.
Objekte für die Übertragung
Die folgende Tabelle enthält eine Liste der Objekttypen, die kopiert werden können. Die Versionsspalte identifiziert die SQL Server-Version, die vom Task beim Berücksichtigen des Objekttyps in einer Übertragung als Quelle verwendet werden kann.
Objekt |
Version |
---|---|
Tabellen |
SQL Server 2000 oder SQL Server |
Sichten |
SQL Server 2000 oder SQL Server |
Gespeicherte Prozeduren |
SQL Server 2000 oder SQL Server |
Benutzerdefinierte Funktionen |
SQL Server 2000 oder SQL Server |
Standardwerte |
SQL Server 2000 oder SQL Server |
Benutzerdefinierte Datentypen |
SQL Server 2000 oder SQL Server |
Partitionsfunktionen |
Nur SQL Server |
Partitionsschemas |
Nur SQL Server |
Schemas |
Nur SQL Server |
Assemblys |
Nur SQL Server |
Benutzerdefinierte Aggregate |
Nur SQL Server |
Benutzerdefinierte Typen |
Nur SQL Server |
XML-Schemaauflistung |
Nur SQL Server |
Benutzerdefinierte Datentypen, die in einer Instanz von SQL Server 2000 erstellt wurden, basieren auf den Systemdatentypen in SQL Server 2000. Bei der Übertragung in SQL Server werden dieser benutzerdefinierten Datentypen mithilfe der Systemdatentypen von SQL Server erstellt und als Aliasdatentypen gespeichert. Weitere Informationen zu Datentypen in SQL Server finden Sie unter Datentypen (Datenbankmodul).
Für benutzerdefinierte Typen, die in einer Instanz von SQL Server erstellt wurden, bestehen Abhängigkeiten mit CLR-Assemblys. Wenn Sie den Task SQL Server-Objekte übertragen zum Übertragen von benutzerdefinierten Typen verwenden, müssen Sie den Task auch für die Übertragung abhängiger Objekte konfigurieren. Um abhängige Objekte zu übertragen, legen Sie die IncludeDependentObjects-Eigenschaft auf True fest.
Tabellenoptionen
Beim Kopieren von Tabellen können Sie die Typen der tabellenbezogenen Elemente angeben, die beim Kopiervorgang berücksichtigt werden sollen. Die folgenden Elementtypen können zusammen mit der verbundenen Tabelle kopiert werden:
Indizes
Trigger
Volltextindizes
Primärschlüssel
Fremdschlüssel
Sie können auch angeben, ob das vom Task generierte Skript im Unicode-Format vorliegen soll.
Zieloptionen
Sie können den Task "SQL Server-Objekte übertragen" so konfigurieren, dass die Schemanamen, Daten, erweiterten Eigenschaften der übertragenen Objekte und die abhängigen Objekte bei der Übertragung berücksichtigt werden. Beim Kopieren der Daten können die bereits vorhandenen Daten ersetzt oder angefügt werden.
Einige Optionen gelten nur für SQL Server. So unterstützt z. B. nur SQL Server Schemas.
Sicherheitsoptionen
Der Task "SQL Server-Objekte übertragen" kann SQL Server-Datenbankbenutzer und -Datenbankrollen aus der Quelle, SQL Server-Anmeldungen sowie Berechtigungen für übertragene Objekte enthalten. Beispielsweise kann die Übertragung die Berechtigungen für die übertragenen Tabellen enthalten.
Übertragen von Objekten zwischen den Instanzen von SQL Server
Der Task SQL Server-Objekte übertragen unterstützt eine Quelle und ein Ziel, SQL Server 2000 oder SQL Server. Es gibt keinerlei Beschränkungen, welche Version Sie als Quelle oder Ziel verwenden.
Ereignisse
Der Task löst ein Informationsereignis aus, das das übertragene Objekt meldet, sowie ein Warnungsereignis, wenn ein Objekt überschrieben wird. Es wird auch ein Informationsereignis für Aktionen ausgelöst, z. B. das Kürzen von Datenbanktabellen.
Der Task "SQL Server-Objekte übertragen" meldet keinen schrittweisen Fortschritt der Objektübertragung; er meldet nur 0 % und 100 % der Ausführung.
Ausführungswert
Der in der ExecutionValue-Eigenschaft des Tasks gespeicherte Ausführungswert gibt die Anzahl der übertragenen Objekte zurück. Indem der ExecValueVariable-Eigenschaft des Tasks "SQL Server-Objekte übertragen" eine benutzerdefinierte Variable zugewiesen wird, können Informationen über die Objektü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 "SQL Server-Objekte übertragen" enthält die folgenden benutzerdefinierten Protokolleinträge:
TransferSqlServerObjectsTaskStartTransferringObjects Dieser Protokolleintrag meldet, dass die Übertragung begonnen hat. Der Protokolleintrag enthält die Startzeit.
TransferSqlServerObjectsTaskFinishedTransferringObjects Dieser Protokolleintrag meldet, dass die Übertragung abgeschlossen ist. Der Protokolleintrag enthält die Beendigungszeit.
Außerdem meldet ein Protokolleintrag für ein OnInformation-Ereignis die Anzahl der Objekttypen, die für die Übertragung ausgewählt wurden, die Anzahl der Objekte, die übertragen wurden sowie Aktionen, wie die Kürzung von Tabellen bei der Übertragung von Daten mit Tabellen. Für jedes Objekt am Ziel, das überschrieben wird, wird ein Protokolleintrag für das OnWarning-Ereignis erstellt.
Sicherheit und Berechtigungen
Der Benutzer muss über die Berechtigung zum Durchsuchen von Objekten auf dem Quellserver verfügen sowie über die Berechtigung zum Löschen und Erstellen von Objekten auf dem Zielserver. Außerdem muss der Benutzer Zugriff auf die angegebene Datenbank und die Datenbankobjekte haben.
Konfigurieren des Tasks "SQL Server-Objekte ü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:
Editor für den Task SQL Server-Objekte übertragen (Seite Allgemein)
Editor für den Task 'SQL Server-Objekte übertragen' (Seite Objekte)
Klicken Sie auf das folgende Thema, um weitere Informationen zum Festlegen dieser Eigenschaften im SSIS-Designer zu erhalten:
Programmgesteuertes Konfigurieren des Tasks "SQL Server-Objekte übertragen"
Klicken Sie auf das folgende Thema, um weitere Informationen zum programmgesteuerten Festlegen dieser Eigenschaften zu erhalten:
|