sql server 2005 T-SQL ALTER SYMMETRIC KEY (Transact-SQL)
2007-12-21 10:02
603 查看
更改对称密钥的属性。
Transact-SQL 语法约定
语法
参数
Key_name
要更改的对称密钥在数据库中所使用的名称。
ADD ENCRYPTION BY
使用指定的方法添加加密。
DROP ENCRYPTION BY
通过指定的方法删除加密。您不能从对称密钥中删除所有的加密。
CERTIFICATE Certificate_name
指定用于对对称密钥进行加密的证书。该证书必须已存在于数据库中。
PASSWORD = 'password'
指定用于对对称密钥进行加密的密码。
SYMMETRIC KEY Symmetric_Key_Name
指定用于对要更改的对称密钥进行加密的对称密钥。该对称密钥必须已存在于数据库中,并且必须打开。
ASYMMETRIC KEY Asym_Key_Name
指定用于对要更改的对称密钥进行加密的非对称密钥。此非对称密钥必须已经存在于数据库中。
备注
若要更改对称密钥的加密,请使用 ADD ENCRYPTION 和 DROP ENCRYPTION 短语。密钥始终不可能完全不进行加密。因此,最佳实践是在删除旧加密格式之前添加新的加密格式。
若要更改对称密钥的所有者,请使用 ALTER AUTHORIZATION。
权限
要求对对称密钥具有 ALTER 权限。如果使用证书或非对称密钥添加加密,则要求对证书或非对称密钥具有 VIEW DEFINITION 权限。如果使用证书或非对称密钥删除加密,则要求对证书或非对称密钥具有 CONTROL 权限。
示例
以下示例更改用于保护对称密钥的加密方法。当创建对称密钥 JanainaKey043 时,使用证书 Shipping04 对该密钥进行加密。由于密钥始终不可能在不加密的情况下进行存储,因此在本例中,首先使用密码添加加密,然后使用证书删除加密。
复制代码
Transact-SQL 语法约定
语法
ALTER SYMMETRIC KEY Key_name <alter_option> <alter_option> ::= ADD ENCRYPTION BY <encrypting_mechanism> [ , ... n ] | DROP ENCRYPTION BY <encrypting_mechanism> [ , ... n ] <encrypting_mechanism> ::= CERTIFICATE certificate_name | PASSWORD = 'password' | SYMMETRIC KEY Symmetric_Key_Name | ASYMMETRIC KEY Asym_Key_Name
参数
Key_name
要更改的对称密钥在数据库中所使用的名称。
ADD ENCRYPTION BY
使用指定的方法添加加密。
DROP ENCRYPTION BY
通过指定的方法删除加密。您不能从对称密钥中删除所有的加密。
CERTIFICATE Certificate_name
指定用于对对称密钥进行加密的证书。该证书必须已存在于数据库中。
PASSWORD = 'password'
指定用于对对称密钥进行加密的密码。
SYMMETRIC KEY Symmetric_Key_Name
指定用于对要更改的对称密钥进行加密的对称密钥。该对称密钥必须已存在于数据库中,并且必须打开。
ASYMMETRIC KEY Asym_Key_Name
指定用于对要更改的对称密钥进行加密的非对称密钥。此非对称密钥必须已经存在于数据库中。
备注
注意: |
---|
当使用密码(而不是数据库主密钥的公钥)对对称密钥进行加密时,便会使用 TRIPLE_DES 加密算法。因此,用强加密算法(如 AES)创建的密钥本身受较弱算法的保护。 |
若要更改对称密钥的所有者,请使用 ALTER AUTHORIZATION。
权限
要求对对称密钥具有 ALTER 权限。如果使用证书或非对称密钥添加加密,则要求对证书或非对称密钥具有 VIEW DEFINITION 权限。如果使用证书或非对称密钥删除加密,则要求对证书或非对称密钥具有 CONTROL 权限。
示例
以下示例更改用于保护对称密钥的加密方法。当创建对称密钥 JanainaKey043 时,使用证书 Shipping04 对该密钥进行加密。由于密钥始终不可能在不加密的情况下进行存储,因此在本例中,首先使用密码添加加密,然后使用证书删除加密。
复制代码
CREATE SYMMETRIC KEY JanainaKey043 WITH ALGORITHM = AES_256 ENCRYPTION BY CERTIFICATE Shipping04; -- Open the key. OPEN SYMMETRIC KEY JanainaKey043 DECRYPTION BY CERTIFICATE Shipping04 WITH PASSWORD = 'pGFD4bb925DGvbd2439587y'; -- First, encrypt the key with a password. ALTER SYMMETRIC KEY JanainaKey043 ADD ENCRYPTION BY PASSWORD = '4350$98fdlxk4Bj9oFD9h4'; -- Now remove encryption by the certificate. ALTER SYMMETRIC KEY JanainaKey043 DROP ENCRYPTION BY CERTIFICATE Shipping04; CLOSE SYMMETRIC KEY JanainaKey043
相关文章推荐
- sql server 2005 T-SQL ALTER REMOTE SERVICE BINDING (Transact-SQL)
- sql server 2005 T-SQL ALTER VIEW (Transact-SQL)
- sql server 2005 T-SQL ALTER ROUTE (Transact-SQL)
- SQL Server 2005 Beta 2 Transact-SQL 增强功能
- sql server 2005 T-SQL 参考 *(乘)(Transact-SQL)
- sql server 2005 T-SQL ~(位非)(Transact-SQL)
- sql server 2005 T-SQL $PARTITION (Transact-SQL)
- sql server 2005 T-SQL @@IDENTITY (Transact-SQL)
- sql server 2005 T-SQL @@OPTIONS (Transact-SQL)
- sql server 2005 T-SQL @@SERVERNAME (Transact-SQL)
- sql server 2005 T-SQL @@TRANCOUNT (Transact-SQL)
- sql server 2005 T-SQL ALTER FUNCTION (Transact-SQL)
- sql server 2005 T-SQL ALTER QUEUE (Transact-SQL)
- sql server 2005 T-SQL ALTER TRIGGER (Transact-SQL)
- sql server 2005 T-SQL AVG (Transact-SQL)
- sql server 2005 T-SQL BEGIN DISTRIBUTED TRANSACTION (Transact-SQL)
- sql server 2005 T-SQL CAST 和 CONVERT (Transact-SQL)
- sql server 2005 T-SQL $PARTITION (Transact-SQL)
- sql server 2005 T-SQL @@IO_BUSY (Transact-SQL)
- sql server 2005 T-SQL @@PACK_SENT (Transact-SQL)