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 ENCRYPTED DATABASE 文

すべてのトランザクション・ログおよび DB 領域を含む既存のデータベースの、暗号化されたコピーを作成します。また、この文を使用して、データベースのコピーを作成し、このコピーでテーブルの暗号化を有効にすることもできます。

構文 1 - データベースの暗号化されたコピーの作成
CREATE ENCRYPTED DATABASE newfile
FROM oldfile
[ KEY newkey ] 
[ OLD KEY oldkey ]
[ ALGORITHM algorithm
algorithm : 
   | 'SIMPLE'
   | 'AES' 
   | 'AES256' 
   | 'AES_FIPS'
   | 'AES256_FIPS'
構文 2 - テーブル暗号化が有効にされたデータベースのコピーの作成
CREATE ENCRYPTED TABLE DATABASE newfile
FROM oldfile
[ KEY newkey ] 
[ OLD KEY oldkey ]
[ ALGORITHM algorithm ]
パラメータ
  • ENCRYPTED DATABASE 句   この句は、暗号化される新しいデータベースの名前を指定するために使用します。

  • 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 文を実行できます。ALTER TABLE 文を参照してください。

どちらの構文を使用しても、oldfile が置換されたり削除されたりすることはありません。

oldfile でトランザクション・ログ・ファイルまたはトランザクション・ログ・ミラー・ファイルが使用されている場合は、名前がそれぞれ newfile.log および newfile.mlg に変更されます。

oldfile に DB 領域ファイルが含まれている場合は、暗号化を示す E がファイル名に付加されます。たとえば、CREATE ENCRYPTED DATABASE 文を実行すると、ファイル名 mydbspace.dbsmydbspace.dbsE に変更されます。

この文を使用して、データベースの暗号化アルゴリズムとキーを変更できます。ただし、CREATE ENCRYPTED DATABASE 文は、新しいファイル (newfile) を作成しますが、前バージョンのファイル (oldfile) を置換または削除することはありません。

CREATE ENCRYPTED DATABASE 文と CREATE ENCRYPTED TABLE DATABASE 文は、リカバリを必要とするデータベースには実行できません。また、これらの文は、プロシージャ、トリガ、イベント、バッチではサポートされていません。

単純暗号化と強力な暗号化の詳細については、単純暗号化強力な暗号化を参照してください。

dbunload -an オプションに -ek または -ep を使用してデータベースのアンロードと再ロードを行うと、既存のデータベースを暗号化したり、既存の暗号化キーを変更したりできます。dbunload ユーティリティを使用したデータの再構築を参照してください。

暗号化されたデータベースや、テーブル暗号化が有効にされたデータベースは、CREATE DATABASE 文を使用して作成することもできます。CREATE DATABASE 文を参照してください。

注意

FIPS は、すべてのプラットフォームで使用できるわけではありません。サポートされるプラットフォームのリストについては、[external link] http://www.ianywhere.jp/sas/os.html を参照してください。

パーミッション

DBA 権限が必要です。

関連する動作

なし

参照
標準と互換性
  • SQL/2003   ベンダ拡張。

次の例は、デモ・データベースの暗号化されたコピー demoEnc.db を作成します。新しいデータベースの暗号化には、AES256 暗号化が使用されます。

CREATE ENCRYPTED DATABASE 'demoEnc.db'
   FROM 'demo.db'
   KEY 'Sd8f6654*Mnn'
   ALGORITHM 'AES256';

次の例は、デモ・データベースのコピー demoTableEnc.db を作成します。新しいデータベースでは、テーブル暗号化が有効になります。アルゴリズムの指定なしでキーが指定されているため、AES 暗号化が使用されます。

CREATE ENCRYPTED TABLE DATABASE 'demoTableEnc.db'
   FROM 'demo.db'
   KEY 'Sd8f6654';