SQL Server 2014 – Datensicherung

Datensicherung lokal und in der Cloud verschlüsseln

| Autor: Thomas Joos

Tom's Admin Blog
Tom's Admin Blog (Bild: Tom Joos)

In SQL Server 2014 können Sie die Sicherung einer Datenbank über die Bordmittel verschlüsseln lassen. Sie können lokale Datensicherungen genauso verschlüsseln, wie die Datensicherung von SQL Server 2014 in der Cloud. Um eine Sicherung zu verschlüsseln, müssen Sie einen Verschlüsselungsalgorithmus und eine Verschlüsselungsmethode festlegen.

SQL Server 2014 unterstützt die  Verschlüsselungsalgorithmen AES 128, AES, AES 192 256 und Triple DES. Als Verschlüsselung können Sie entweder ein Zertifikat oder einen asymmetrischen Schlüssel verwenden. Wollen Sie eine Sicherung wiederherstellen, ist das Zertifikat, oder der asymmetrische Schlüssel dafür notwendig.

Die Funktionen stehen allerdings in den Editionen SQL Server Express und SQL Server Web nicht zur Verfügung. Außerdem können Sie die Sicherungen nur auf Servern mit SQL Server 2014 wiederherstellen. Die Verschlüsselung können Sie entweder im Management Studio durchführen, oder über T-SQL. Auch die PowerShell können Sie zur Datensicherung und zur Verschlüsselung verwenden. Die Vorgehensweise ist dabei recht einfach, wie wir im folgenden Beispiel zeigen. Sie benötigen zunächst einen Datenbank-Hauptschlüssel der Masterdatenbank. Diesen legen Sie am besten mit einer T-SQL-Abfrage an:

USE master;

GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Kennwort>';

GO

Idealerweise sollten Sie auch noch ein Zertifikat für die Sicherung erstellen. Auch dazu verwenden Sie eine T-SQL-Abfrage:

Use Master

GO

CREATE CERTIFICATE backupcert

   WITH SUBJECT = 'Mein Sicherungs-Zertifikat';

GO

Wenn Sie die Vorbereitungen getroffen haben, können Sie die Sicherung ebenfalls mit T-SQL erstellen. Um eine Datenbanken verschlüsselt über T-SQL zu sichern, verwenden Sie zum Beispiel folgendes Skript:

BACKUP DATABASE [Einkauf]

TO DISK = N'C:\backup\Einkauf.bak'

WITH

  COMPRESSION,

  ENCRYPTION

   (

   ALGORITHM = AES_256,

   SERVER CERTIFICATE = backupcert

   ),

  STATS = 10

GO

In der PowerShell verwenden Sie:

$encryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"

Backup-SqlDatabase -ServerInstance . -Database "EinkaufDB" -BackupFile "EinkauDB.bak" -CompressionOption On -EncryptionOption $encryptionOption

Natürlich können Sie die verschlüsselte Sicherung auch auf einem Datenbankserver mit der grafischen Oberfläche durchführen. Dazu gibt es im Bereich Sicherungsoptionen den Abschnitt zur Verschlüsselung.

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 0 / Tom's Admin Blog)