Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Anweisungen » SQL-Anweisungen (A-D)

 

CREATE ENCRYPTED FILE-Anweisung

Erstellt eine stark verschlüsselte Kopie einer Datenbankdatei, des Tranktionslogs, des Transaktionslogspiegels oder des DBSpaces.

Syntax
CREATE ENCRYPTED FILE Neue_Datei
FROM Alte_Datei
{ KEY Schlüssel | KEY Schlüssel OLD KEY Alter_Schlüssel }
[ ALGORITHM { 'AES' | 'AES256' | 'AES_FIPS' | 'AES256_FIPS' } ]
Parameter
  • FROM-Klausel   Gibt den Namen der bestehenden Datei an (Alte_Datei), für die die CREATE ENCRYPTED FILE-Anweisung ausgeführt werden soll

  • KEY-Klausel   Gibt den zu verwendenden Chiffrierschlüssel an

  • OLD KEY-Klausel   Gibt den aktuellen Schlüssel an, mit dem die Datei verschlüsselt ist

  • 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.

Bemerkungen

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.

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 Alte_Datei DBSpaces oder Logs verbunden sind und Sie diese auch verschlüsseln, müssen Sie darauf achten, dass der neue Name und Speicherort dieser Dateien in der neuen Datenbankdatei 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.

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 (Neue_Datei), ohne die vorherige Version der Datei (Alte_Datei) 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. Weitere Hinweise finden Sie unter CREATE ENCRYPTED DATABASE-Anweisung.

Diese Anweisung wird in Prozeduren, Triggern, Ereignissen oder Batches nicht unterstützt.

Hinweis

FIPS steht nicht auf allen Plattformen zur Verfügung. Eine Liste der unterstützten Plattformen finden Sie unter [external link] http://www.sybase.com/detail?id=1062619.

Berechtigungen

Der Benutzer muss über DBA-Berechtigungen verfügen.

Unter Windows Mobile werden die AES_FIPS- und AES256_FIPS-Algorithmen nur mit ARM-Prozessoren unterstützt.

Nebenwirkungen

Keine.

Siehe auch
Standards und Kompatibilität
  • SQL/2003   Erweiterung des Herstellers

Beispiel

Das folgende Beispiel verschlüsselt die Datenbank "contacts" und erstellt eine neue Datenbank namens "contacts2", die mit AES_FIPS-Verschlüsselung verschlüsselt ist.

CREATE ENCRYPTED FILE 'contacts2.db'
FROM 'contacts.db'
   KEY 'Sd8f6654*Mnn'
   ALGORITHM AES_FIPS;

Mit dem folgenden Beispiel werden die Datenbank "contacts" und die Logdatei "contacts" verschlüsselt und umbenannt. Sie werden dann dblog -ek Sd8f6654*Mnn -t contacts2.log contacts.db ausführen müssen, da das Log umbenannt wurde, die Datenbankdatei aber noch auf das alte Log verweist.

CREATE ENCRYPTED FILE 'contacts2.db'
   FROM 'contacts.db'
   KEY 'Sd8f6654*Mnn';
CREATE ENCRYPTED FILE 'contacts2.log'
   FROM 'contacts.db'
   KEY 'Sd8f6654*Mnn';

Mit dem folgenden Beispiel werden die Datenbank "contacts" und die Logdatei "contacts" verschlüsselt, wobei der ursprüngliche Name der Logdatei unverändert bleibt. In diesem Fall müssen Sie dblog nicht ausführen, da der Name der Datei gleich bleibt.

CREATE ENCRYPTED FILE 'newpath\contacts.db'
   FROM 'contacts.db'
   KEY 'Sd8f6654*Mnn';
CREATE ENCRYPTED FILE 'newpath\contacts.log'
   FROM 'contacts.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 'newcontacts.db'
 FROM 'contacts.db' 
 KEY 'newkey' OLD KEY 'oldkey';

Nachdem Sie die verschlüsselte Datei erstellt haben, löschen Sie contacts.db und benennen newcontacts.db auf contacts.db um.