Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
为现有数据库创建一份解密副本,其中包括所有事务日志和 dbspace。
CREATE DECRYPTED DATABASE newfile FROM oldfile [ KEY key ]
FROM 子句 使用此子句指定要复制的数据库的名称 (oldfile)。
KEY 子句 使用此子句指定解密数据库所需的加密密钥。如果现有数据库是使用简单加密进行加密的,则不必指定 KEY 子句,因为这种情况不需要密钥。
CREATE DECRYPTED DATABASE 语句生成一个新的数据库文件 (newfile),且不替换或删除原始数据库文件 (oldfile)。
oldfile 中所有已加密的表在 newfile 中未被加密,且没有启用表加密。
对于使用 SQL Anywhere 12 或更高版本创建的数据库,ISYSCOLSTAT、ISYSUSER 和 ISYSEXTERNLOGIN 系统表将始终保持加密状态以保护数据,防止未经授权的访问。
如果 oldfile 使用事务日志或事务日志镜像,这些文件将分别被重命名为 newfile.log 和 newfile.mlg。
如果 oldfile 包含 dbspace 文件,文件名中将添加一个 D(已解密)。例如,在执行 CREATE DECRYPTED DATABASE 语句时,如果 oldfile 为 mydbspace.dbs,newfile 将变为 mydbspace.dbsD。
不能对需要恢复的数据库执行此语句。此语句在过程、触发器、事件或批处理中不受支持。
DBA 权限。
无。
SQL/2008 服务商扩充。
下面第一个语句将为 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';