此语句会为现有数据库创建一份解密副本,包括所有的事务日志和 dbspace。
CREATE DECRYPTED DATABASE newfile FROM oldfile [ KEY key ]
CREATE DECRYPTED DATABASE 语句生成一个新的数据库文件 (newfile),且不替换或删除原始数据库文件 (oldfile)。
oldfile 中所有已加密的表在 newfile 中未被加密,且没有启用表加密。
对于使用 SQL Anywhere 11.0.0 及更高版本创建的数据库,ISYSCOLSTAT、ISYSUSER 和 ISYSEXTERNLOGIN 系统表将始终保持加密状态以保护数据,防止对数据库文件进行未经授权的访问。
如果 oldfile 使用事务日志或事务日志镜像文件,它们将分别被重命名为 newfile.log 和 newfile.mlg。
如果 oldfile 包含 dbspace 文件,文件名中将添加一个 D(已解密)。例如,在执行 CREATE DECRYPTED DATABASE 语句时,如果 oldfile 为 mydbspace.dbs,newfile 将变为 mydbspace.dbsD。
不能对需要恢复的数据库执行此语句。另外,过程、触发器、事件或批处理中均不支持此语句。
必须是具有 DBA 权限的用户。
无。
SQL/2003 服务商扩充。
下面第一个语句将为 demo.db 创建一个 AES256 加密的副本,名为 demoEncrypted.db。第二个语句为 demoEncrypted.db 创建一个解密副本,名为 demoDecrypted.db。
CREATE ENCRYPTED DATABASE 'demoEncrypted.db' FROM 'demo.db' KEY 'Sd8f6654*Mnn' ALGORITHM 'AES256'; CREATE DECRYPTED DATABASE 'demoDecrypted.db' FROM 'demoEncrypted.db' KEY 'Sd8f6654*Mnn'; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |