Ich versuche, ein Backup für unsere neue Finanzdatenbank zu verschlüsseln. Dies ist eine brandneue Datenbank, daher wurde bisher absolut nichts eingerichtet. Ich arbeite in Microsoft SQL Server 2014.
Ich habe versucht, MSDN zu folgen, aber es ist nicht hilfreich, die Seiten verlinken einfach miteinander und landen in einem selbstreferenziellen Kreis. Schmerzlich!
Also, hier ist, was ich bisher getan habe.
- Eingeloggt als sa
sp_configure "show advanced", 1
sp_configure "EKM provider enabled", 1
Ein Zertifikat erstellt
CREATE CERTIFICATE fooBackup ENCRYPTION BY PASSWORD = "#########" WITH SUBJECT = "### Server Backup Key", EXPIRY_DATE = "20201031"; GO
- Überprüft, ob es mit existiert
SELECT * FROM sys.certificates
(Es existiert!) Versucht, einen Verschlüsselungsschlüssel zu erstellen
CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE fooBackup; GO
Und hier stecke ich fest. Ich erhalte folgende Fehlermeldung:
Meldung 15151, Ebene 16, Status 1, Zeile 10
Das Zertifikat "fooBackup" kann nicht gefunden werden, da es nicht vorhanden ist oder Sie keine Berechtigung haben.
Ich habe versucht, ALTER- und CONTROL-Berechtigungen für symmetrische und asymmetrische Schlüssel zu erteilen, wie hier gezeigt http://bit.ly/1OcbYyt und wie gesagt, ich bin als SA angemeldet. Ich kann sehen, dass es existiert. Ich bin nur ... verloren.
Jede Hilfe für jemanden, der sich durch SQL kämpft, wäre willkommen!
Antworten:
0 für die Antwort № 1Ich habe dies schließlich funktioniert, indem ich ein Zertifikat mithilfe des Hauptschlüssels anstelle des eigenen Kennworts erstellt habe.
Die Schritte dafür sind:
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = "5tr0ngP@ssW0rd"
GO
OPEN MASTER KEY DECRYPTION BY PASSWORD = "5tr0ngP@ssW0rd"
CREATE CERTIFICATE MyDBcert
WITH SUBJECT = "The Cert For MyDB";
GO
USE MyDB;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MyDBcert;
GO
Nach Abschluss dieses Vorgangs können Sie das Zertifikat zum Verschlüsseln Ihrer Datenbanksicherungen verwenden.