要创建加密的数据库,可以采用下列方式:
将数据库初始化实用程序 (dbinit) 与各种选项配合使用来启用高度加密。
dbinit 实用程序 -ep 和 -ek 选项可以创建采用高度加密的数据库,您可以在提示框或命令行中指定加密密钥。dbinit -ea 选项将加密算法设置为 AES 或 AES256 算法(或 FIPS 认可的 AES_FIPS 或 AES256_FIPS 算法)。请参见初始化实用程序 (dbinit)。
使用 Sybase Central 的 [创建数据库向导] 创建高度加密的数据库。请参见创建数据库 (Sybase Central)。
使用卸载数据库实用程序 (dbunload) 并指定相应选项来创建新的采用高度加密的数据库。-an 选项创建新的数据库。要在提示框或命令行中指定高度加密和加密密钥,请使用 -ep 或 -ek 选项。-ea 选项将加密算法设置为 AES 或 AES256(或 FIPS 认可的 AES_FIPS 或 AES256_FIPS 算法)。请参见卸载实用程序 (dbunload)。
您还可以使用 Sybase Central 的 [卸载数据库向导] 创建高度加密的数据库。请参见使用 [卸载数据库向导] 导出数据。
使用以下 SQL 语句:
从 Interactive SQL 连接到现有数据库。
执行包含 ENCRYPTION 子句、KEY 以及 ALGORITHM 选项的 CREATE DATABASE 语句。
例如,以下语句会使用 FIPS 认可的 128 位 AES 加密在 c:\ 目录中创建一个名为 myencrypteddb.db 的数据库文件。
CREATE DATABASE 'c:\\myencrypteddb.db' TRANSACTION LOG ON ENCRYPTED ON KEY '0kZ2o52AK#' ALGORITHM 'AES_FIPS'; |
使用 dbinit 实用程序创建一个数据库。必须附带 -ek 或 -ep 选项,以便相应地在命令提示符处或窗口中指定加密密钥。
以下命令会创建一个高度加密的数据库,并指定加密密钥和算法。
dbinit -ek "0kZ2o56AK#" -ea AES_FIPS "myencrypteddb.db" |
运行以下命令启动数据库:
dbeng11 myencrypteddb.db -ek "0kZ2o56AK#" |
从 Interactive SQL 连接到现有数据库(不是您所复制的数据库)。
使用 CREATE ENCRYPTED DATABASE 语句对数据库加密。
以下语句使用数据库文件 demo.db,并为该文件创建一个名为 encryptedDemo.db 的 AES 加密的副本。
CREATE ENCRYPTED DATABASE 'encryptedDemo.db' FROM 'demo.db' KEY 'abc' ALGORITHM 'AES'; |
当执行 CREATE ENCRYPTED DATABASE 语句时,实际上不会加密(覆盖)原文件,而是为该文件创建一个加密形式副本。如果存在与此数据库关联的事务日志、事务日志镜像或 dbspace,则也会创建这些文件的加密副本。请参见CREATE ENCRYPTED DATABASE 语句。
如果有一个需要恢复的数据库,想要对其进行加密以便送给技术支持部门,则必须使用 CREATE ENCRYPTED FILE 语句。任何与数据库相关的文件(例如事务日志、事务日志镜像以及 dbspace 文件)必须也要使用此语句进行加密。请参见CREATE ENCRYPTED FILE 语句。
当想要对现有的数据库进行加密时,应使用 CREATE ENCRYPTED DATABASE 语句。仅在想要对需要恢复的数据库进行加密时才能使用 CREATE ENCRYPTED FILE 语句。
这两个语句都要求您拥有 DBA 权限,且在执行语句时您不能连接到要加密的数据库。
CREATE ENCRYPTED FILE 和 CREATE ENCRYPTED DATABASE 语句彼此之间的不同点如下:
CREATE ENCRYPTED FILE 语句必须针对每个与数据库相关的文件(事务日志、事务日志镜像、dbspace,如果有)单独执行,而 CREATE ENCRYPTED DATABASE 语句自动加密所有与数据库相关的文件。
CREATE ENCRYPTED DATABASE 语句不能在需要恢复的数据库上使用;CREATE ENCRYPTED FILE 语句则可以做到这一点。
CREATE ENCRYPTED DATABASE 语句不能在过程、触发器或批处理内部使用。CREATE ENCRYPTED FILE 语句则可以做到这一点。
CREATE ENCRYPTED DATABASE 语句支持 SIMPLE 加密算法,但 CREATE ENCRYPTED FILE 语句则不支持。
有关加密密钥的详细信息,请参见DatabaseKey 连接参数 [DBKEY]。
在 Windows Mobile 上,仅 ARM 处理器支持 AES_FIPS 和 AES256_FIPS 算法。
并非所有平台上都可以使用 FIPS。有关受支持平台的列表,请参见 http://www.sybase.com/detail?id=1062623。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |