gpt4 book ai didi

sql - 如何复制SQL Server对称 key ?

转载 作者:行者123 更新时间:2023-12-04 18:16:30 25 4
gpt4 key购买 nike

我们有一台服务器,该服务器的数据库具有对称 key (“数据库”->“安全性”->“对称 key ”)。我们有一个备份重复数据库,我们将其用作测试数据库,但是那里没有此 key 。

如何复制此对称 key (或完全像旧 key 一样创建新 key )并将其放入现有数据库中?它必须具有与另一个相同的值和键名。

这是在SQL Server 2008上。

alt text

最佳答案

首先创建对称 key 时,请确保使用的是KEY_SOURCE,IDENTITY_VALUE和ALGORITHM参数。

如果还没有,请创建数据库主 key 和证书以保护对称 key 。

-- 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,这两个数据库都必须相同才能正常工作。
  • KEY_SOURCE参数用于创建实际的 key 本身,因此请确保它完全相同并受到良好的保护。
  • ALGORITHM当然是sql服务器用来加密和解密数据的算法,必须使用相同的算法才能工作。

  • 您应该能够在两个数据库上运行上述脚本(当然用您自己的值替换),它将成功解密在另一个数据库中加密的数据。

    如果您不是以这种方式创建现有 key ,则必须使用旧 key 解密所有内容,然后使用新 key 重新加密。

    可以在以下位置找到有关 key 创建的几个很好的资源:
  • Introduction to Symmetric KeyEncryption
  • Laurentiu Cristofor'sBlog
  • 关于sql - 如何复制SQL Server对称 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2568913/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com