Migrieren Sie Daten in oder aus Spalten mithilfe von Always Encrypted mit dem SQL Server-Import/Export-Assistenten

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Der SQL Server Import and Export Wizard ist ein Werkzeug, mit dem Sie Daten von einer Quelle zu einem Ziel kopieren können. Dieser Artikel beschreibt, wie man den SQL Server Import and Export Wizard verwendet, wenn Quelle, Ziel oder beides eine SQL Server-Datenbank ist, die Spalten enthält, die mit Always Encrypted geschützt sind.

Migrationsszenarios

Mit dem SQL Server-Import/Export-Assistenten können Sie die folgenden Szenarios zum Migrieren von Daten in oder aus verschlüsselten Spalten implementieren.

Verschlüsseln von Klartextdaten bei der Migration

Wenn Ihre Datenquelle Klartextdaten enthält und Ihr Ziel eine SQL Server-Datenbank mit verschlüsselten Spalten ist, können Sie den SQL Server Import and Export Wizard verwenden, um die Klartextdaten aus der Quelle abzurufen, zu verschlüsseln und die verschlüsselten Daten (Chiffretext) in die verschlüsselten Spalten der Zieldatenbank zu kopieren. Für dieses Migrationsszenario kann die Datenquelle jeder Datenspeicher sein, den der SQL Server Import and Export Wizard unterstützt, wie z. B. eine Datei, eine SQL Server-Datenbank oder eine Datenbank in einem anderen Datenbanksystem.

Um sicherzustellen, dass der SQL Server Import- und Export-Assistent Daten verschlüsseln kann, aktivieren Sie Always Encrypted für die Zieldatenbankverbindung und stellen Sie sicher, dass Sie Zugriff auf die Schlüssel haben, die die Daten in den Zieldatenbankspalten schützen. Weitere Informationen finden Sie in den Abschnitten Aktivieren und Deaktivieren von Always Encrypted für eine Datenbankverbindung und Berechtigungen zum Verschlüsseln oder Entschlüsseln von Daten während der Migration.

Entschlüsseln verschlüsselter Daten bei der Migration

Wenn Sie Daten migrieren, die in verschlüsselten Datenbankspalten einer SQL Server-Datenbank gespeichert sind, können Sie den SQL Server Import and Export Wizard so konfigurieren, dass er die Daten entschlüsselt und die entschlüsselten (Klartext-)Daten an ein Ziel kopiert. Das Ziel kann jeder Datenspeicher sein, den der SQL Server Import and Export Wizard unterstützt, wie z. B. eine Datei, eine SQL Server-Datenbank oder eine Datenbank in einem anderen Datenbanksystem.

Um sicherzustellen, dass der SQL Server Import- und Export-Assistent Daten entschlüsseln kann, aktivieren Sie Always Encrypted für die Quelldatenbankverbindung und stellen Sie sicher, dass Sie Zugriff auf die Schlüssel haben, die die Daten in den Quelldatenbankspalten schützen. Weitere Informationen finden Sie in den Abschnitten Aktivieren und Deaktivieren von Always Encrypted für eine Datenbankverbindung und Berechtigungen zum Verschlüsseln oder Entschlüsseln von Daten während der Migration.

Erneutes Verschlüsseln von Daten bei der Migration

Wenn Sie Daten aus verschlüsselten Spalten einer Quell-SQL Server-Datenbank in verschlüsselte Spalten in derselben oder einer anderen SQL Server-Datenbank kopieren, können Sie den SQL Server Import- und Export-Assistenten so konfigurieren, dass er die Daten nach dem Abruf aus der Quelle entschlüsselt und neu verschlüsselt, bevor er sie in die verschlüsselten Spalten der Zieldatenbank einfügt. Verwenden Sie diese Methode, wenn das Schema der Zielspalten, wie Spaltendatentypen, Verschlüsselungstypen und Spaltenverschlüsselungsschlüssel, sich vom Schema der Quellspalten unterscheidet.

Um sicherzustellen, dass der SQL Server Import- und Export-Assistent Daten verschlüsseln und entschlüsseln kann, aktivieren Sie Always Encrypted sowohl für die Quelldatenbankverbindung als auch für die Zieldatenbankverbindung und stellen Sie sicher, dass Sie Zugriff auf die Schlüssel haben, die die Daten sowohl in den Spalten der Quell- als auch der Zieldatenbank schützen. Weitere Informationen finden Sie in den Abschnitten Aktivieren und Deaktivieren von Always Encrypted für eine Datenbankverbindung und Berechtigungen zum Verschlüsseln oder Entschlüsseln von Daten während der Migration.

Beibehalten der Datenverschlüsselung bei der Migration

Wenn Sie Daten aus verschlüsselten Spalten einer Quell-SQL Server-Datenbank in verschlüsselte Spalten in derselben oder einer anderen SQL Server-Datenbank kopieren und die Zielspalten exakt dasselbe Schema wie die Quellspalten verwenden, einschließlich derselben Datentypen, Verschlüsselungstypen und Spaltenverschlüsselungsschlüssel, können Sie den SQL Server Import and Export Wizard so konfigurieren, dass er Chiffretext aus den Quellspalten abruft und die verschlüsselten Daten (Chiffretext) in die verschlüsselte Spalte der Ziel-SQL Server-Datenbank einfügt.

Für dieses Szenario verwenden Sie einen beliebigen Datenanbieter, der die Verbindung mit der Quell- oder Ziel-SQL-Server-Datenbank unterstützt. Wenn Sie einen Anbieter nutzen, der Always Encrypted unterstützt, um sich mit der Zieldatenbank zu verbinden, stellen Sie sicher, dass Always Encrypted für die Datenbankverbindung deaktiviert ist. Weitere Informationen finden Sie im Abschnitt Aktivieren und Deaktivieren von Always Encrypted für eine Datenbankverbindung.

Sie müssen außerdem sicherstellen, dass der Datenbankprinzipal (Benutzer), den der SQL Server Import- und Export-Wizard zur Verbindung mit der Zieldatenbank verwendet, mit der Option ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, die auf ON festgelegt ist, konfiguriert ist. Diese Option unterdrückt kryptografische Metadatenprüfungen auf dem Server bei Massenkopien, wodurch der Assistent die verschlüsselten Daten ohne Entschlüsselung massenhaft in die Zieldatenbank einfügen kann. Weitere Informationen finden Sie unter Verschlüsselte Daten per Massenimport in durch Always Encrypted geschützte Spalten laden.

Aktivieren und Deaktivieren von Always Encrypted für eine Datenbankverbindung

Wenn Ihr Migrationsszenario erfordert, dass der SQL Server Import and Export Wizard Daten verschlüsselt oder entschlüsselt, konfigurieren Sie die Quell-SQL Server-Datenbankverbindung, die Ziel-SQL Server-Datenbankverbindung oder beides, indem Sie einen Datenanbieter verwenden, der Always Encrypted unterstützt. Außerdem musst du Always Encrypted für diese Verbindungen aktivieren.

Nutze einen beliebigen Datenanbieter für eine Verbindung, wenn der Assistent die Daten auf dieser Verbindung nicht verschlüsseln oder entschlüsseln soll.

Always Encrypted wird von den folgenden Datenanbietern im SQL Server-Import/Export-Assistenten unterstützt:

Berechtigungen zum Verschlüsseln oder Entschlüsseln von Daten während der Migration

Um in einer SQL Server-Quell- oder -Zieldatenbank gespeicherte Daten zu verschlüsseln oder zu entschlüsseln, benötigen Sie in der Quelldatenbank die Berechtigungen VIEW ANY COLUMN ENCRYPTION KEY DEFINITIONCONTROLVIEW ANY COLUMN MASTER KEY DEFINITION und VIEW ANY COLUMN ENCRYPTION KEY DEFINITIONVIEW DEFINITIONVIEW ANY COLUMN MASTER KEY DEFINITION. Außerdem benötigen Sie Schlüsselspeicherberechtigungen, um auf Ihren Spaltenhauptschlüssel zugreifen und diesen verwenden zu können. Für detaillierte Informationen zu den für Schlüsselverwaltung erforderlichen Schlüsselspeicherberechtigungen siehe Spalten-Masterschlüssel erstellen und speichern für Always Encrypted und suchen Sie den für Ihren Schlüsselspeicher relevanten Abschnitt.