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 FILE 语句

此语句用于为高度加密的数据库创建一个解密副本。还可以使用此语句为与数据库相关的其它文件(例如事务日志、事务日志镜像以及 dbspace)创建解密副本。

语法
CREATE DECRYPTED FILE newfile
FROM oldfile KEY key
参数
  • FROM 子句   列出已加密文件的文件名。

  • KEY 子句   列出访问加密文件所需的密钥。

注释

当您的数据库需要恢复以及出于支持的原因需要为数据库创建解密副本时,请使用此语句。还必须要使用此语句对任何与数据库相关的文件(例如事务日志、事务日志镜像或 dbspace 文件)进行解密。

原始数据库文件必须用加密密钥高度加密。得到的文件是加密文件的相同副本,但并未加密,因此不需要加密密钥。

如果使用此语句对数据库进行解密,则相应的事务日志文件(以及任何 dbspace)也必须被解密才能使用数据库。

如果需要恢复的数据库是解密的,则其事务日志必须也被解密,并且仍需要恢复新数据库。在上述过程中,事务日志文件的名称保持不变。因此,如果数据库和事务日志文件被重命名,则需要对得到的数据库运行 dblog -t 命令。

无法在启用表加密的数据库上使用此语句。如果具有要解密的表,则使用 ALTER TABLE 语句的 NOT ENCRYPTED 子句来解密这些表。请参见ALTER TABLE 语句

注意

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

此语句在过程、触发器、事件或批处理中不受支持。

权限

必须是具有 DBA 权限的用户。

副作用

无。

另请参见
标准和兼容性
  • SQL/2003   服务商扩充。

示例

下面的示例对 contacts 数据库进行解密,并新建一个名为 contacts2 的解密数据库。

CREATE DECRYPTED FILE 'contacts2.db'
FROM 'contacts.db'
KEY 'Sd8f6654*Mnn';