簡體   English   中英

無法創建SQL加密密鑰

[英]Cannot create SQL Encryption Key

我正在嘗試為我們的新財務數據庫加密備份。 這是一個全新的數據庫,所以以前沒有任何設置。 我在Microsoft SQL Server 2014中工作。

一直試圖關注MSDN,但它沒有幫助,頁面只是相互鏈接,最終在一個自我參考圈。 痛苦!

所以,這是我到目前為止所做的。

  1. 以sa登錄
  2. sp_configure 'show advanced', 1
  3. sp_configure 'EKM provider enabled', 1
  4. 創建了證書

     CREATE CERTIFICATE fooBackup ENCRYPTION BY PASSWORD = '#########' WITH SUBJECT = '### Server Backup Key', EXPIRY_DATE = '20201031'; GO 
  5. 檢查它是否存在SELECT * FROM sys.certificates (它確實存在!)
  6. 試圖創建加密密鑰

     CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE fooBackup; GO 

這就是我陷入困境的地方。 我收到以下錯誤:

Msg 15151,Level 16,State 1,Line 10

找不到證書'fooBackup',因為它不存在或您沒有權限。

我已經嘗試在對稱和非對稱密鑰上授予ALTER和CONTROL權限,如http://bit.ly/1OcbYyt所示,正如我所說,我以SA身份登錄。 我可以看到它存在。 我只是......迷路了。

任何通過SQL掙扎的人的幫助都將不勝感激!

我最終通過使用主密鑰而不是自己的密碼創建證書來實現此目的。

這個步驟是:

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

完成此操作后,您可以自由使用證書加密數據庫備份。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM