Erstellt eine stark verschlüsselte Kopie einer Datenbankdatei, des Tranktionslogs, des Transaktionslogspiegels oder des DBSpaces.
CREATE ENCRYPTED FILE newfile FROM oldfile { KEY key | KEY key OLD KEY oldkey } [ ALGORITHM { 'AES' | 'AES256' | 'AES_FIPS' | 'AES256_FIPS' } ]
FROM-Klausel Gibt den Namen der bestehenden Datei an (oldfile), für die die CREATE ENCRYPTED FILE-Anweisung ausgeführt werden soll
Wenn Festplatten-Sandboxing aktiviert ist, werden die Vorgänge der Datenbank auf das Verzeichnis beschränkt, in dem sich die Haupt-Datenbankdatei befindet. Siehe Sandboxing.
KEY-Klausel Gibt den zu verwendenden Chiffrierschlüssel an Der Schlüssel kann entweder eine Zeichenfolge oder ein Variablenname sein.
OLD KEY-Klausel Gibt den aktuellen Schlüssel an, mit dem die Datei verschlüsselt ist Der Schlüssel kann entweder eine Zeichenfolge oder ein Variablenname sein.
ALGORITHM-Klausel Gibt den Algorithmus an, der zum Verschlüsseln der Datei verwendet wird. Wenn Sie keinen Algorithmus angeben, wird AES (128-Bit-Verschlüsselung) standardmäßig verwendet.
Verwenden Sie diese Anweisung, wenn für Ihre Datenbank eine Wiederherstellung erforderlich ist und Sie eine verschlüsselte Kopie der Datenbank für den Support benötigen. Sie müssen diese Anweisung auch verwenden, um Nebendateien einer Datenbank wie Transaktionslog, Transaktionslogspiegel und DBSpace zu verschlüsseln.
Sie können nicht mit der Datenbank verbunden sein, für die Sie die verschlüsselte Datei erstellen möchten. Sie müssen mit einer anderen Datenbank verbunden sein, z.B. mit der Dienstprogrammdatenbank. Die Datenbank, die Sie verschlüsseln möchten, darf nicht laufen.
Wenn Nebendateien der Datenbank verschlüsselt werden, müssen sie denselben Algorithmus und denselben Schlüssel für alle Nebendateien dieser Datenbank angeben.
Wenn mit oldfile DBSpaces oder Transaktionslogs verbunden sind und Sie diese auch verschlüsseln, müssen Sie darauf achten, dass der neue Name und Speicherort dieser Dateien in der neuen Datenbank gespeichert werden. Dabei gehen Sie wie folgt vor:
Führen Sie dblog -t in der neuen Datenbank aus, um den Namen und den Speicherort des Transaktionslogs zu ändern.
Führen Sie dblog -m in der neuen Datenbank aus, um den Namen und den Speicherort des Transaktionslogspiegels zu ändern.
Führen Sie die Anweisung ALTER DBSPACE in der neuen Datenbank aus, um den Speicherort und den Namen der DBSpace-Dateien zu ändern.
Wenn Sandboxing aktiviert ist, werden die Vorgänge der Datenbank auf das Verzeichnis beschränkt, in dem sich die Hauptdatenbankdatei befindet. Siehe Sandboxing.
Sie können diese Anweisung verwenden, um den Verschlüsselungsalgorithmus und den Schlüssel für eine Datenbank zu ändern. Die CREATE ENCRYPTED FILE-Anweisung erstellt allerdings eine neue Datei (newfile), ohne die vorherige Version der Datei (oldfile) zu ersetzen oder zu entfernen.
Der Name der Transaktionslogdatei bleibt bei diesem Verfahren unverändert. Wenn die Datenbank und Transaktionslogdatei also umbenannt werden, müssen Sie dblog -t mit der daraus resultierenden Datenbank ausführen.
Sie können auch mit der dbunload-Option -an und -ek oder -ep durch Entladen und Neuladen der Datenbank eine bestehende Datenbank verschlüsseln oder einen bereits existierenden Chiffrierschlüssel ändern.
Wenn Sie über eine Datenbank mit aktivierter Tabellenverschlüsselung verfügen, können Sie die Datenbank mit dieser Anweisung nicht verschlüsseln. Sie können allerdings diese Anweisung verwenden, um den bei der Tabellenverschlüsselung verwendeten Schlüssel zu ändern. Um eine Datenbank zu verschlüsseln, in der die Tabellenverschlüsselung aktiviert ist, verwenden Sie die Anweisung CREATE ENCRYPTED DATABASE.
Unter Windows Mobile werden die AES_FIPS- und AES256_FIPS-Algorithmen nur mit ARM-Prozessoren unterstützt.
Diese Anweisung wird in Prozeduren, Triggern, Ereignissen oder Batches nicht unterstützt.
Nicht alle Plattformen unterstützen FIPS-zertifizierte Verschlüsselung. Eine Liste der unterstützten Plattformen finden Sie
unter http://www.sybase.com/detail?id=1002288.
Ob Sie diese Anweisung ausführen können, hängt von der Einstellung der Datenbankoption -gu ab und davon, ob Sie das SERVER OPERATOR-Systemprivileg haben.
Keine.
SQL/2008 Erweiterung des Herstellers.
Im folgenden Beispiel wird die Beispieldatenbank demo.db verschlüsselt und eine neue Datenbank namens demo2.db mit AES_FIPS-Verschlüsselung erstellt. Die neue Datenbankdatei wird im aktuellen Arbeitsverzeichnis des Servers platziert.
CREATE ENCRYPTED FILE 'demo2.db' FROM 'C:\\Users\\Public\\Documents\\SQL Anywhere 16\\Samples\\demo.db' KEY 'Sd8f6654*Mnn' ALGORITHM 'AES_FIPS'; |
Im folgenden Beispiel werden die Beispieldatenbank demo.db und die dazugehörige Transaktionslogdatei demo.log verschlüsselt. Nach dem Erstellen werden Datenbank- und Logdatei im aktuellen Arbeitsverzeichnis des Servers platziert. Sie
müssen dblog -ek Sd8f6654*Mnn -t demo3.log demo3.db
ausführen, weil die neue Datenbankdatei demo3.db immer noch auf das alte Log zeigt.
CREATE ENCRYPTED FILE 'demo3.db' FROM 'C:\\Users\\Public\\Documents\\SQL Anywhere 16\\Samples\\demo.db' KEY 'Sd8f6654*Mnn'; CREATE ENCRYPTED FILE 'demo3.log' FROM 'C:\\Users\\Public\\Documents\\SQL Anywhere 16\\Samples\\demo.log' KEY 'Sd8f6654*Mnn'; |
Um einen Chiffrierschlüssel für eine Datenbank zu ändern, erstellen Sie erst eine Kopie der Datenbankdatei mit dem neuen Schlüssel, wie in dieser Anweisung gezeigt:
CREATE ENCRYPTED FILE 'newdemo.db' FROM 'C:\\Users\\Public\\Documents\\SQL Anywhere 16\\Samples\\demo.db' KEY 'newkey' OLD KEY 'oldkey'; |
Die neue Datenbankdatei wird im aktuellen Arbeitsverzeichnis des Servers platziert. Nachdem Sie die verschlüsselte Datei erstellt haben, können Sie demo.db löschen sowie newdemo.db in dasselbe Verzeichnis wie die alte Datei verschieben und in demo.db umbenennen.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |