Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
为现有数据库创建一份加密副本,其中包括所有的事务日志和 dbspace。
CREATE ENCRYPTED DATABASE newfile FROM oldfile [ KEY newkey ] [ ALGORITHM algorithm ] [ OLD KEY oldkey ]
algorithm : 'SIMPLE' | 'AES' | 'AES256' | 'AES_FIPS' | 'AES256_FIPS'
CREATE ENCRYPTED TABLE DATABASE newfile FROM oldfile [ KEY newkey ] [ ALGORITHM algorithm ] [ OLD KEY oldkey ]
CREATE ENCRYPTED DATABASE 子句 使用此子句指定新加密数据库的名称。
CREATE ENCRYPTED TABLE DATABASE 子句 使用此子句指定新数据库的名称。该新数据库未加密,但已启用表加密。
FROM 子句 使用此子句指定原始数据库的名称 (oldfile)。
KEY 子句 如果 algorithm-key 不是 SIMPLE,使用此子句指定 newfile 的加密密钥。
OLD KEY 子句 使用此子句指定 oldfile 的加密密钥。仅当 oldfile 使用 SIMPLE 之外的任何其它加密方法进行加密时才需要此子句。
ALGORITHM 子句 使用此子句指定要用于 newfile 的加密算法。如果指定 KEY 子句但未指定 ALGORITHM 子句,缺省情况下将使用 AES(128 位加密)。如果指定 SIMPLE 作为 algorithm,则不必指定 KEY 子句。
还可以使用此语句为数据库创建一份副本以及在该副本中启用表加密。
oldfile 可以是未加密数据库、已加密数据库或启用了表加密的数据库。
语法 1 使用现有数据库 oldfile,并为其创建了一个加密副本 newfile。
语法 2 使用现有数据库 oldfile,并为其创建了一个启用了表加密的副本 newfile。使用此语法时,在 oldfile 中加密的所有表同样在 newfile 中进行了加密。如果之前在 oldfile 中未加密任何表,但现在想对其进行加密,则可对要加密的各个表执行 ALTER TABLE...ENCRYPTED 语句。
这两种语法都不会替换或移除 oldfile。
如果 oldfile 使用事务日志或事务日志镜像文件,它们将分别被重命名为 newfile.log 和 newfile.mlg。
如果 oldfile 包含 dbspace 文件,文件名中将添加一个 E(代表已加密)。例如,在执行 CREATE ENCRYPTED DATABASE 语句后,文件 mydbspace.dbs 将更改为 mydbspace.dbsE。
可使用此语句来更改数据库的加密算法和密钥。不过,CREATE ENCRYPTED DATABASE 语句会生成一个新文件 (newfile),而不是替换或移除先前版本的文件 (oldfile)。
CREATE ENCRYPTED DATABASE 和 CREATE ENCRYPTED TABLE DATABASE 不能针对需要恢复的数据库执行。过程、触发器、事件或批处理中均不支持这些语句。
通过卸载数据库然后联合使用 dbunload -an 选项与 -ek 或 -ep 重装数据库,还可以加密现有数据库或更改现有加密密钥。
还可以使用 CREATE DATABASE 语句创建一个加密的数据库或创建一个启用表加密的数据库。
并非所有平台都支持经 FIPS 认证的加密。有关受支持平台的列表,请参见 http://www.sybase.com/detail?id=1002288。
DBA 权限。
无。
SQL/2008 服务商扩充。
以下示例将为示例数据库创建一个加密副本,名为 demoEnc.db。新数据库使用 AES256 加密进行了加密。
CREATE ENCRYPTED DATABASE 'demoEnc.db' FROM 'demo.db' KEY 'Sd8f6654*Mnn' ALGORITHM 'AES256';
以下示例将为示例数据库创建一个副本,名为 demoTableEnc.db。新数据库启用了表加密。由于指定密钥时没有采用任何算法,因此使用 AES 加密。
CREATE ENCRYPTED TABLE DATABASE 'demoTableEnc.db' FROM 'demo.db' KEY 'Sd8f6654';