2016-11-16 1 views
0

Umgebung: Win 2012 und SQL 2014 Standard Edition.Wiederherstellen Öffnen Hauptschlüssel Verschlüsselung zur Testumgebung

Problem: Ich mache eine tägliche Wiederherstellung der Produktionsdatenbank in unserem Testserver. Die Produktionsdatenbank hat einen Verschlüsselungsschlüssel. Die Wiederherstellung auf dem Testserver ist ein SQL-Job, der jede Nacht ausgeführt wird.

Items Tried: Ich habe versucht, einen Schritt in den SQL-Job aufzunehmen, um den Schlüssel in der Testumgebung zu entschlüsseln: Öffnen Sie die Hauptschlüsselentschlüsselung mit password = ''. Ich habe versucht, mit EXEC, sp_executesql und die Befehle in eine gespeicherte Prozedur einzubetten. Das einzige, was wirklich funktioniert, wenn ich Management Studio öffne und den Befehl manuell ausführe.

Ergebnisse aus dem Job: Der Job wird erfolgreich ausgeführt, tut aber nichts. Ich füge Protokollierung hinzu und es gibt keine Hinweise auf Fehler. Das ganze Protokoll sagt, dass Begin Executing ist.

Frage: Weiß jemand, wie ich die offene Hauptschlüssel Entschlüsselung durch password = '' Schritt in den SQL-Job einbetten kann, wo der Befehl mit der Arbeit.

Antwort

1

Ich denke, das Problem, das Sie haben, ist, dass Sie den Hauptschlüssel innerhalb dieser Sitzung erfolgreich öffnen, aber andere Sitzungen sehen das nicht. Anschließend müssen Sie den Datenbankhauptschlüssel mit dem Diensthauptschlüssel des Testservers neu verschlüsseln. Zum Glück, wenn Sie die Taste mit dem Passwort geöffnet haben (wie Sie bereits haben), dann ist es so einfach wie:

alter master key add encryption by service master key; 

Auch Sie sollen nichts in Ihrer open master key… Aussage Phantasie tun müssen. Das heißt, keine Notwendigkeit, es in sp_executesql oder irgendetwas davon zu wickeln.

+0

Das hat perfekt funktioniert. Vielen Dank. – user142253

Verwandte Themen