Ich verwende SQL Server 2008 / 2012. In meiner Datenbank habe ich eine Tabelle mit verschlüsselter Spalte. Die Spalte wird mit der folgenden Abfrage verschlüsselt:
Erstellen Sie die Beispieltabelle
%Vor%Richten Sie den Hauptschlüssel ein
%Vor%Erstellen Sie den symmetrischen Schlüssel und das ZERTIFIKAT
%Vor%Daten verschlüsseln
%Vor%Ich bin Entschlüsselung dieser Daten mit der Abfrage -
%Vor%Hier geben wir den Schlüssel / Zertifikat-Wert fest codiert.
Ich erhalte den verschlüsselten Spaltennamen mit ihrer Tabelle durch diese Abfrage -
%Vor%Und die Schlüssel- und Zertifikatsliste nach dieser Abfrage -
%Vor%Nun möchte ich wissen, welcher Schlüssel / welches Zertifikat zu welcher verschlüsselten Spalte gehört. SO kann ich die Entschlüsselung für diese Spalte anwenden, ohne einen fest codierten Wert anzugeben. Bitte hilf mir ....
Nach der Suche und dem Versuch habe ich die Lösung gefunden, die -
ist %Vor%Diese Abfrage liefert den verschlüsselten Schlüssel, der zu dieser Spalte gehört.
Sie können nicht, zumindest mit den integrierten Systemfunktionen und -ansichten von T-SQL.
Der Typ einer Spalte kann auch varbinary
sein und die Daten müssen nicht verschlüsselt werden.
Wenn Sie dynamische T-SQL-Anweisungen erstellen und Zertifikate und Schlüssel hartcodieren möchten, können Sie eine mapping
-Tabelle erstellen. Zum Beispiel so etwas:
Es ist nicht das perfekte Workaround (ja, Sie müssen die Daten pflegen), aber wenn neue Spalten nicht ständig verschlüsselt werden, kann es den Job erledigen.
Tags und Links sql sql-server tsql encryption