Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
创建高度加密的数据库的解密副本,可用于创建事务日志、事务日志镜像和 dbspace 的解密副本。
CREATE DECRYPTED FILE newfile FROM oldfile KEY key
FROM 子句 列出已加密文件的文件名。
如果启用了磁盘沙箱,则会将数据库的操作限制为主数据库文件所在的目录。 请参见磁盘沙箱。
KEY 子句 列出访问加密文件所需的密钥。该密钥可以是字符串或变量名。
当您的数据库需要恢复以及出于支持的原因需要为数据库创建解密副本时,请使用此语句。还必须使用此语句对任何与数据库相关的文件(例如事务日志、事务日志镜像或 dbspace)进行解密。
原始数据库文件必须用加密密钥高度加密。得到的文件是加密文件的相同副本,但并未加密,因此不需要加密密钥。
如果使用此语句对数据库进行解密,则相应的事务日志文件(以及任何 dbspace)也必须被解密才能使用数据库。
如果需要恢复的数据库是解密的,那么也必须解密其事务日志文件,并且仍需要恢复新数据库。在上述过程中,事务日志文件的名称保持不变。因此,如果数据库和事务日志文件被重命名,则需要对得到的数据库运行 dblog -t 命令。
无法在启用表加密的数据库上使用此语句。如果具有要解密的表,则使用 ALTER TABLE 语句的 NOT ENCRYPTED 子句来解密这些表。
对于使用 SQL Anywhere 16 或更高版本创建的数据库,ISYSCOLSTAT、ISYSUSER 和 ISYSEXTERNLOGIN 系统表将始终保持加密状态以保护数据,防止对数据库文件进行未经授权的访问。
此语句在过程、触发器、事件或批处理中不受支持。
无法连接到所解密的数据库。必须连接到不同的数据库。例如,连接到实用程序数据库。所加密的数据库不得处于运行状态。
是否可执行此语句取决于 -gu 数据库选项的设置以及您是否具有 SERVER OPERATOR 系统特权。
无。
SQL/2008 服务商扩充。
以下示例对名为 encContacts 的虚构加密数据库进行解密,并新建一个名为 contacts 的解密数据库。
CREATE DECRYPTED FILE 'contacts.db' FROM 'encContacts.db' KEY 'Sd8f6654*Mnn';