ALTER SERVICE MASTER KEY (Transact-SQL)

Ändert den Diensthauptschlüssel einer Instanz von SQL Server.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

ALTER SERVICE MASTER KEY 
    [ { <regenerate_option> | <recover_option> } ]
    |
    [ { ADD | DROP } ENCRYPTION BY MACHINE KEY ]

<regenerate_option> ::=
    [ FORCE ] REGENERATE

<recover_option> ::=
    { WITH OLD_ACCOUNT = 'account_name' , OLD_PASSWORD = 'password' }
    |    
    { WITH NEW_ACCOUNT = 'account_name' , NEW_PASSWORD = 'password' }

Argumente

  • FORCE
    Gibt an, dass der Diensthauptschlüssel neu generiert werden soll, auch wenn bei diesem Vorgang Daten verloren gehen können. Weitere Informationen finden Sie unter Ändern des SQL Server-Dienstkontos weiter unten in diesem Thema.
  • REGENERATE
    Gibt an, dass der Diensthauptschlüssel neu generiert werden soll.
  • OLD_ACCOUNT ='account_name'
    Gibt den Namen des alten Windows-Dienstkontos an.
  • OLD_PASSWORD ='password'
    Gibt das Kennwort des alten Windows-Dienstkontos an.
  • NEW_ACCOUNT ='account_name'
    Gibt den Namen des neuen Windows-Dienstkontos an.
  • NEW_PASSWORD ='password'
    Gibt das Kennwort des neuen Windows-Dienstkontos an.

Hinweise

Der Diensthauptschlüssel wird automatisch generiert, wenn er zum ersten Mal benötigt wird, um ein Kennwort für einen Verbindungsserver, Anmeldeinformationen oder den Datenbank-Hauptschlüssel zu verschlüsseln. Der Diensthauptschlüssel wird mithilfe des auf dem lokalen Computer verwendeten Computerschlüssels oder der Windows-Datenschutz-API (DPAPI) verschlüsselt. Diese API verwendet einen Schlüssel, der von den Windows-Anmeldeinformationen des SQL Server-Dienstkontos abgeleitet ist.

Der Diensthauptschlüssel kann nur von dem Dienstkonto entschlüsselt werden, unter dem er erstellt wurde, oder von einem Prinzipal, der auf die Windows-Anmeldeinformationen dieses Dienstkontos zugreifen kann. Wenn Sie das Windows-Konto ändern, unter dem der SQL Server-Dienst ausgeführt wird, müssen Sie auch die Entschlüsselung des Diensthauptschlüssels mit dem neuen Konto ermöglichen.

Ändern des SQL Server-Dienstkontos

Wenn Sie das SQL Server-Dienstkonto ändern möchten, verwenden Sie den SQL Server-Konfigurations-Manager. Um eine Änderung des Dienstkontos zu verwalten, speichert SQL Server eine redundante Kopie des Diensthauptschlüssels, der von dem Computerkonto geschützt wird, dem die notwendigen Berechtigungen für die SQL Server-Dienstgruppe zugewiesen wurden. Wenn der Computer neu erstellt wird, kann der gleiche Domänenbenutzer, der zuvor vom Dienstkonto verwendet wurde, den Diensthauptschlüssel wiederherstellen. Diese Methode kann nicht für lokale Konten, lokalen System-, Lokalen Dienst- oder Netzwerkdienstkonten verwendet werden. Wenn Sie SQL Server auf einen anderen Computer verschieben, migrieren Sie den Diensthauptschlüssel durch Sichern und Wiederherstellen.

Mit REGENERATE wird der Diensthauptschlüssel neu generiert. Nach der Neugenerierung des Diensthauptschlüssels werden alle Schlüssel, die mit diesem Schlüssel verschlüsselt wurden, von SQL Server entschlüsselt und mit dem neuen Diensthauptschlüssel verschlüsselt. Dies ein ressourcenintensiver Vorgang. Die Ausführung dieses Vorgangs sollte außerhalb der Hauptzeiten geplant werden, es sei denn, der Schlüssel ist nicht mehr sicher. Falls einer dieser Entschlüsselungsvorgänge nicht erfolgreich beendet wird, wird für die gesamte Anweisung ein Fehler zurückgegeben.

Mit der FORCE-Option wird der Vorgang der Schlüsselneugenerierung fortgesetzt, auch wenn der aktuelle Hauptschlüssel nicht abgerufen werden kann oder wenn nicht alle privaten Schlüssel entschlüsselt werden können, die mit ihm verschlüsselt wurden. Verwenden Sie FORCE nur, wenn bei der Neugenerierung ein Fehler auftritt und der Diensthauptschlüssel nicht mithilfe der RESTORE SERVICE MASTER KEY-Anweisung wiederhergestellt werden kann.

ms187788.Caution(de-de,SQL.90).gifVorsicht:
Der Diensthauptschlüssel ist der Stamm der SQL Server-Verschlüsselungshierarchie. Mit dem Diensthauptschlüssel werden alle Schlüssel und geheimen Bereiche in der Struktur direkt oder indirekt geschützt. Wenn ein abhängiger Schlüssel während der erzwungenen Neugenerierung nicht entschlüsselt werden kann, gehen die durch den Schlüssel geschützten Daten verloren.

Mit den MACHINE KEY-Optionen können Sie Verschlüsselung mithilfe des Computerschlüssels hinzufügen oder entfernen.

Berechtigungen

Erfordert die CONTROL SERVER-Berechtigung auf dem Server.

Beispiele

Im folgenden Beispiel wird der Diensthauptschlüssel neu generiert.

ALTER SERVICE MASTER KEY REGENERATE;
GO

Siehe auch

Verweis

RESTORE SERVICE MASTER KEY (Transact-SQL)
BACKUP SERVICE MASTER KEY (Transact-SQL)

Andere Ressourcen

Verschlüsselungshierarchie

Hilfe und Informationen

Informationsquellen für SQL Server 2005