列レベルの暗号化を行いたい。例えば:
--Create Master Key
USE EncryptTest
GO
CREATE MASTER KEY ENCRYPTION
BY PASSWORD = 'Test'
GO
--Create Server Cert
USE EncryptTest
GO
CREATE CERTIFICATE EncryptTestCert
WITH SUBJECT = 'Test'
GO
/* Create Symmetric Key */
USE EncryptTest
GO
CREATE SYMMETRIC KEY TestTableKey
WITH ALGORITHM = TRIPLE_DES ENCRYPTION
BY CERTIFICATE EncryptTestCert
GO
/* Encrypt the Column.*/
USE EncryptTest
GO
OPEN SYMMETRIC KEY TestTableKey DECRYPTION
BY CERTIFICATE EncryptTestCert
UPDATE TestTable
SET EncryptSecondCol = ENCRYPTBYKEY(KEY_GUID('TestTableKey'),SecondCol)
GO
--View encrypted
USE EncryptTest
GO
SELECT *
FROM TestTable
GO
私の質問ですが、証明書またはキーをバックアップする方法は? DBA(もちろん私ではありません)であるシナリオは、証明書/キーを誤って削除して、データベースを安全に保ちますが、役に立たない. 誰かが太い指でセキュリティをフラブし、次に実際のセキュリティ違反で、より多くの実際の問題を見たので、私はこれを持ち出します.