Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
すべてのトランザクションログおよび DB 領域を含む既存のデータベースの、暗号化されたコピーを作成します。
CREATE ENCRYPTED DATABASE newfile FROM oldfile [ KEY newkey ] [ ALGORITHM algorithm ] [ OLD KEY oldkey ]
algorithm : 'SIMPLE' | 'AES' | 'AES256' | 'AES_FIPS' | 'AES256_FIPS'
CREATE ENCRYPTED TABLE DATABASE newfile FROM oldfile [ KEY newkey ] [ ALGORITHM algorithm ] [ OLD KEY oldkey ]
CREATE ENCRYPTED DATABASE 句 この句は、暗号化される新しいデータベースの名前を指定するために使用します。
ディスクサンドボックスが有効になっている場合、データベースの操作はメインデータベースファイルが格納されているディレクトリに制限されます。 詳細はディスクサンドボックスを参照してください。
CREATE ENCRYPTED TABLE DATABASE 句 この句は、新しいデータベースの名前を指定するときに使用します。新しいデータベースは暗号化されませんが、テーブルの暗号化が有効になります。
FROM 句 この句は、元になるデータベースの名前 (oldfile) を指定するために使用します。
ディスクサンドボックス機能が有効になっている場合、そのデータベースの操作はメインデータベースファイルがあるディレクトリのみに制限されます。 ディスクサンドボックスを参照してください。
KEY 句 algorithm が SIMPLE 以外の場合は、この句を使用して、newfile の暗号化キーを指定します。このキーには文字列または変数名を使用できます。
OLD KEY 句 この句は、oldfile の暗号化キーを指定するために使用します。このキーには文字列または変数名を使用できます。この句が必要なのは、oldfile が単純暗号化 (SIMPLE) 以外で暗号化されている場合のみです。
ALGORITHM 句 この句は、newfile で使用する暗号化アルゴリズムを指定するために使用します。KEY 句を指定し、ALGORITHM 句を指定しない場合は、デフォルトで AES (128 ビット暗号化) が使用されます。algorithm に SIMPLE を指定する場合は、KEY 句を指定しません。
また、この文を使用して、データベースのコピーを作成し、このコピーでテーブルの暗号化を有効にすることもできます。
oldfile には、暗号化されていないデータベース、暗号化されたデータベース、またはテーブル暗号化が有効なデータベースを指定できます。
構文 1 は、既存のデータベース oldfile から、その暗号化されたコピーである newfile を作成します。
構文 2 は、既存のデータベース oldfile から、そのコピー newfile を作成し、このコピーのテーブル暗号化を有効にします。この構文を使用する場合、oldfile で暗号化されていたすべてのテーブルは、newfile でも暗号化されます。oldfile に暗号化されているテーブルがない場合にテーブルを暗号化するには、暗号化の対象となるテーブルごとに ALTER TABLE...ENCRYPTED 文を実行できます。
どちらの構文を使用しても、oldfile が置換されたり削除されたりすることはありません。
oldfile でトランザクションログファイルまたはトランザクションログミラーファイルが使用されている場合は、名前がそれぞれ newfile.log および newfile.mlg に変更されます。
oldfile に DB 領域ファイルが含まれている場合は、暗号化を示す E がファイル名に付加されます。たとえば、CREATE ENCRYPTED DATABASE 文を実行すると、ファイル名 mydbspace.dbs は mydbspace.dbsE に変更されます。
この文を使用して、データベースの暗号化アルゴリズムとキーを変更できます。ただし、CREATE ENCRYPTED DATABASE 文は、新しいファイル (newfile) を作成しますが、前バージョンのファイル (oldfile) を置換または削除することはありません。
CREATE ENCRYPTED DATABASE 文と CREATE ENCRYPTED TABLE DATABASE 文は、リカバリを必要とするデータベースには実行できません。これらの文は、プロシージャ、トリガ、イベント、バッチではサポートされていません。
暗号化中のデータベースには接続できません。別のデータベースに接続されている必要があります。たとえば、ユーティリティデータベースに接続します。実行中のデータベースは暗号化できません。
dbunload -an オプションに -ek または -ep を使用してデータベースのアンロードと再ロードを行うと、既存のデータベースを暗号化したり、既存の暗号化キーを変更したりできます。
暗号化されたデータベースや、テーブル暗号化が有効にされたデータベースは、CREATE DATABASE 文を使用して作成することもできます。
FIPS 認定の暗号化をサポートしないプラットフォームもあります。サポートされるプラットフォームのリストについては、 http://www.sybase.com/detail?id=1002288を参照してください。
この文の実行能力は、-gu データベースオプションの設定と SERVER OPERATOR システム権限の有無によって異なります。
なし
SQL/2008 ベンダー拡張。
次の例は、サンプルデータベースの暗号化されたコピー demoEnc.db を作成します。新しいデータベースの暗号化には、AES256 暗号化が使用されます。
CREATE ENCRYPTED DATABASE 'demoEnc.db' FROM 'C:\\Users\\Public\\Documents\\SQL Anywhere 16\\Samples\\demo.db' KEY 'Sd8f6654*Mnn' ALGORITHM 'AES256';
次の例は、サンプルデータベースのコピー demoTableEnc.db を作成します。新しいデータベースでは、テーブル暗号化が有効になります。アルゴリズムの指定なしでキーが指定されているため、AES 暗号化が使用されます。
CREATE ENCRYPTED TABLE DATABASE 'demoTableEnc.db' FROM 'C:\\Users\\Public\\Documents\\SQL Anywhere 16\\Samples\\demo.db' KEY 'Sd8f6654';