新しい金融データベースのバックアップを暗号化しようとしています。これはまったく新しいデータベースであるため、以前は何も設定されていませんでした。MicrosoftSQL Server 2014で作業しています。
MSDNをフォローしようとしていましたが、役に立たないため、ページは互いにリンクしているだけで、自己参照の輪になってしまいます。痛い!
だから、ここに私がこれまでやったことがあります。
- saとしてログイン
sp_configure "show advanced", 1
sp_configure "EKM provider enabled", 1
証明書を作成しました
CREATE CERTIFICATE fooBackup ENCRYPTION BY PASSWORD = "#########" WITH SUBJECT = "### Server Backup Key", EXPIRY_DATE = "20201031"; GO
- 存在することを確認しました
SELECT * FROM sys.certificates
(存在します!) 暗号化キーを作成しようとしました
CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE fooBackup; GO
そして、これは私が立ち往生するところです。次のエラーが表示されます。
メッセージ15151、レベル16、状態1、行10
証明書「fooBackup」が存在しないか、権限がないため、見つかりません。
ここに示すように、対称キーと非対称キーでALTERおよびCONTROL権限を付与しようとしました http://bit.ly/1OcbYyt そして私が言ったように、私はSAとしてログインしています。それが存在することがわかります。
SQLで苦労している人を助けていただければ幸いです!
回答:
回答№1は0私は最終的に、独自のパスワードの代わりにマスターキーを使用して証明書を作成することで、これを機能させました。
この手順は次のとおりです。
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
これが完了すると、データベースバックアップを暗号化するために証明書を自由に使用できます。