Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 语句 » SQL 语句 (A-D)

 

CREATE DECRYPTED DATABASE 语句

此语句会为现有数据库创建一份解密副本,包括所有的事务日志和 dbspace。

语法
CREATE DECRYPTED DATABASE newfile
FROM oldfile 
[ KEY key ] 
参数
  • FROM 子句   使用此子句指定要复制的数据库的名称 (oldfile)。

  • KEY 子句   使用此子句指定解密数据库所需的加密密钥。如果现有数据库是使用 SIMPLE 加密进行加密的,则不必指定 KEY 子句,因为这种情况不需要密钥。

注释

CREATE DECRYPTED DATABASE 语句生成一个新的数据库文件 (newfile),且不替换或删除原始数据库文件 (oldfile)。

oldfile 中所有已加密的表在 newfile 中未被加密,且没有启用表加密。

注意

对于使用 SQL Anywhere 11.0.0 及更高版本创建的数据库,ISYSCOLSTAT、ISYSUSER 和 ISYSEXTERNLOGIN 系统表将始终保持加密状态以保护数据,防止对数据库文件进行未经授权的访问。

如果 oldfile 使用事务日志或事务日志镜像文件,它们将分别被重命名为 newfile.lognewfile.mlg

如果 oldfile 包含 dbspace 文件,文件名中将添加一个 D(已解密)。例如,在执行 CREATE DECRYPTED DATABASE 语句时,如果 oldfilemydbspace.dbsnewfile 将变为 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';