sql-server-2005 – 如何在SQL Server 2005数据库之间传输sql加密数据?

前端之家收集整理的这篇文章主要介绍了sql-server-2005 – 如何在SQL Server 2005数据库之间传输sql加密数据?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个现有的sql Server 2005数据库,其中包含使用对称密钥加密的数据.使用密码打开对称密钥.我正在升级到使用此数据库的前端应用程序,其中包括添加许多新表,存储过程,UDF等,以及对现有表和数据库对象的许多修改.为此,我正在制作现有开发数据库的副本,以便在进行新开发时可以独立支持,维护和更新当前系统.

复制数据库的好方法是什么?通常,我会备份现有数据库,然后将其还原到新数据库.但是,鉴于加密数据,这是否可行?我是否仍然可以使用现有的对称密钥和密码加密并更重要的是解密新数据库中的数据?

我可能想要使用DTS仅传输现有架构.在新数据库中创建新的对称密钥/密码.然后编写即席查询以传输数据,使用现有密钥/密码进行解密,并使用新数据库中的新密钥/密码进行加密.

我猜其核心是,对称密钥是否适用于加密/解密单个数据库或同一服务器上的许多数据库中的数据?

解决方法

您指的对称密钥是数据库主密钥(DMK).它们保存在数据库级别,因此备份/还原到另一个sql服务器应该可以正常工作(需要注意不同的服务帐户,这是 thread提到的)

在你做任何事情之前,确保你有一个你的密钥备份(可能你已经这样做了):

USE myDB
GO
BACKUP MASTER KEY TO FILE = 'path_to_file'
    ENCRYPTION BY PASSWORD = 'password'
GO

从这个article

When you create a Database Master Key,a copy is encrypted with the supplied password and stored in the current database. A copy is also encrypted with the Service Master Key and stored in the master database. The copy of the DMK allows the server to automatically decrypt the DMK,a feature known as “automatic key management.” Without automatic key management,you must use the OPEN MASTER KEY statement and supply a password every time you wish to encrypt and/or decrypt data using certificates and keys that rely on the DMK for security. With automatic key management,the OPEN MASTER KEY statement and password are not required.

猜你在找的MsSQL相关文章