Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Auf einem Server, auf dem SQL Server 2008 oder SQL Server 2008 R2 ausgeführt wird, erstellen Sie ein Serverzertifikat in der Master Datenbank.
-
Sie aktivieren transparente Datenverschlüsselung für eine Benutzerdatenbank, deren Datenbank-Verschlüsselungsschlüssel (DEK) mithilfe des Serverzertifikats gesichert wird.
-
Sie legen das Serverzertifikat ab.
-
Sie beginnen eine neue Transaktion mit der Datenbank.
In diesem Szenario ist die neue Transaktion nicht abgeschlossen. Insbesondere wartet die Transaktion auf unbestimmte Zeit mit dem WriteLog Wait-Typ. Darüber hinaus ist die Datenbank möglicherweise als "verdächtig" gekennzeichnet. Hinweise
-
Dieses Problem bleibt auch dann bestehen, wenn Sie das Zertifikat aus einer Sicherung wiederherstellen.
-
Wenn dieses Problem auftritt, reagiert SQL Server nicht auf eine Abbruchanforderung. Sie können SQL Server nur Herunterfahren, indem Sie den Befehl shutdown zusammen mit der Option nowait ausführen.
-
Unter bestimmten Szenarien kann ein Fehler, der wie folgt aussieht, im SQL Server-Fehlerprotokoll protokolliert werden:
Datum Uhrzeit spid5s Fehler: 33111, Schweregrad: 16, Zustand: 3.Datum , an dem spid5s das Serverzertifikat mit dem Fingerabdruck "0xF9384BBA39E82B87D07A8D9AEBD58DDF55B715A3" nicht finden kann.Datum Uhrzeit spid175 Fehler: 15507, Schweregrad: 16, Zustand: 1.Datum Zeit spid175 ein für diesen Vorgang erforderlicher Schlüssel scheint beschädigt zu sein.Datum Uhrzeit spid175 Fehler: 3314, Schweregrad: 21, Bundesland: 4.Datum der Zeit spid175 während des Rückgängigmachens eines protokollierten Vorgangs in der Datenbank "Datenbankname" ist ein Fehler bei der Protokolldatensatz-ID (10637:3496:70) aufgetreten. In der Regel wird der spezifische Fehler zuvor als Fehler im Windows-Ereignisprotokolldienst protokolliert. Stellen Sie die Datenbank oder Datei aus einer Sicherung wieder her, oder reparieren Sie die Datenbank.Datum Uhrzeit spid18s Fehler: 9001, Schweregrad: 21, Bundesland: 5.Datum Uhrzeit spid18s das Protokoll für die Datenbank "Datenbankname" ist nicht verfügbar. Überprüfen Sie das Ereignisprotokoll auf verwandte Fehlermeldungen. Beheben Sie alle Fehler, und starten Sie die Datenbank erneut.
Fehlerbehebung
Service Pack-Informationen für SQL Server 2008
Um dieses Problem zu beheben, besorgen Sie sich das neueste Service Pack für SQL Server 2008. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
968382 So erhalten Sie das neueste Service Pack für SQL Server 2008
Service Pack-Informationen für SQL Server 2008 R2
Um dieses Problem zu beheben, besorgen Sie sich das neueste Service Pack für SQL Server 2008 R2. Wenn Sie weitere Informationen wünschen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2527041 So erhalten Sie das neueste Service Pack für SQL Server 2008 R2Nach dem Anwenden des Fixes ist es einem Benutzer nicht gestattet, das Serverzertifikat zu löschen, wenn ein Zertifikat zum Sichern eines DEK verwendet wird.
Status
Microsoft hat bestätigt, dass es sich um ein Problem mit den Microsoft-Produkten handelt, die im Abschnitt "gilt für" aufgeführt sind. Dieses Problem wurde zuerst in SQL Server 2008 R2 Service Pack 1 für SQL Server 2008 R2 behoben. Dieses Problem wurde zuerst in SQL Server 2008 Service Pack 3 behoben.
Weitere Informationen
Dieser Fix verhindert auch, dass Fehler 33111 im folgenden Szenario auftritt:
-
Eine Datenbank ist verschlüsselt.
-
Die gleiche Datenbank wird entschlüsselt.
-
Das Zertifikat, das den Datenbankschlüssel verschlüsselt, wird gelöscht, aber der Datenbankschlüssel wird nicht gelöscht.
Wenn der Computer, auf dem SQL Server ausgeführt wird, in diesem Szenario neu gestartet wird, wird der folgende Fehler zurückgegeben, wenn die Datenbank wiederhergestellt wird:
Fehler: 33111, Schweregrad: 16, Status: 3Cannot Suchen des Serverzertifikats mit thumbprint'0xA89FE581BD3D371CD3E41D48C9978163AB7055F7 '
Nachdem Service Pack 3 (SP3) auf SQL Server 2008 angewendet wurde, wird der folgende Fehler ausgelöst, wenn die Zertifikat Ablage vor dem Löschen des Daten Bank Schlüssels erfolgt:
Msg 3716, Ebene 16, Status 15, 2Der-Zertifikat "MyServerCert" kann nicht gelöscht werden, weil es an einen oder mehrere Datenbankverschlüsselungsschlüssel gebunden ist.
Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus, um die Datenbank zu entschlüsseln:
-
Erstellen Sie das Zertifikat aus einer Sicherung erneut.
-
Bringen Sie die Datenbank online.
-
Führen Sie in der verschlüsselten Datenbank einen Befehl zum Löschen von Daten Bank Verschlüsselungsschlüsseln aus.
-
Legen Sie das Zertifikat ab, wenn Sie es in diesem Fall tun möchten.
Weitere Informationen zur transparenten Datenverschlüsselung (DSA) finden Sie auf der folgenden MSDN-Website:
Grundlegendes zur transparenten Datenverschlüsselung (DSA)Weitere Informationen zur Terminologie für Softwareupdates von Microsoft finden Sie im folgenden Artikel der Microsoft Knowledge Base:
824684 Beschreibung der Standardterminologie, die zum Beschreiben von Microsoft-Softwareupdates verwendet wird