如何复制SQL Server对称密钥?
我们有一个服务器,其数据库具有对称密钥(数据库->安全->对称密钥)。我们有一个备份副本数据库,我们正在使用它作为测试数据库,但我们没有这个密钥 如何复制此对称密钥(或创建与旧密钥完全相同的新密钥)并将其放入现有数据库中?它必须与另一个具有相同的值和键名 这是在SQLServer2008上如何复制SQL Server对称密钥?,sql,sql-server-2008,symmetric-key,Sql,Sql Server 2008,Symmetric Key,我们有一个服务器,其数据库具有对称密钥(数据库->安全->对称密钥)。我们有一个备份副本数据库,我们正在使用它作为测试数据库,但我们没有这个密钥 如何复制此对称密钥(或创建与旧密钥完全相同的新密钥)并将其放入现有数据库中?它必须与另一个具有相同的值和键名 这是在SQLServer2008上 首先创建对称密钥时,请确保使用的是密钥源、标识值和算法参数 如果还没有,请创建数据库主密钥和证书以保护对称密钥 -- Create Database Master Key CREATE MASTER KE
首先创建对称密钥时,请确保使用的是密钥源、标识值和算法参数 如果还没有,请创建数据库主密钥和证书以保护对称密钥
-- Create Database Master Key
CREATE MASTER KEY ENCRYPTION BY
PASSWORD = 'Your Database Master Key Password here'
GO
-- Create Encryption Certificate
CREATE CERTIFICATE MyCertificateName
WITH SUBJECT = 'Your Certificate Description Here'
GO
-- Create Symmetric Key
CREATE SYMMETRIC KEY MyKeyName WITH
IDENTITY_VALUE = 'Enter a key description',
ALGORITHM = AES_256,
KEY_SOURCE = 'Enter a key phrase here (keep very secret)'
ENCRYPTION BY CERTIFICATE MyCertificateName;
- IDENTITY_VALUE参数用于在sys.symmetric_keys表中创建guid,这两个数据库中的guid必须相同才能工作
- KEY_SOURCE参数用于创建实际的密钥本身,因此请确保其完全相同并且受到良好的保护
- 该算法当然是sql server用来加密和解密数据的算法,必须相同才能工作