/ / SQL-Verschlüsselungsschlüssel kann nicht erstellt werden - SQL, SQL-Server, Verschlüsselung, SQL-Server-2014

Kann SQL-Verschlüsselungsschlüssel nicht erstellen - SQL, SQL-Server, Verschlüsselung, SQL-Server-2014

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.

  1. Eingeloggt als sa
  2. sp_configure "show advanced", 1
  3. sp_configure "EKM provider enabled", 1
  4. Ein Zertifikat erstellt

    CREATE CERTIFICATE fooBackup
    ENCRYPTION BY PASSWORD = "#########"
    WITH SUBJECT = "### Server Backup Key",
    EXPIRY_DATE = "20201031";
    GO
    
  5. Überprüft, ob es mit existiert SELECT * FROM sys.certificates (Es existiert!)
  6. 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 № 1

Ich 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.