Prozedur-Option WITH ENCRYPTION abhängig von einem Flag oder Variable setzen

12/10/2009 - 13:20 von Lutz Uhlmann | Report spam
Hallo NG!

Ich habe die Erstellungsskripte (DROP und CREATE) meiner Stored Procedures als sql-Dateien abgelegt.

Auf meinem Entwicklungsserver lege ich die SPs ohne WITH ENCRYPTION an, auf dem Produktiv-System mit
WITH ENCRYPTION.
Es werden jetzt natürlich immer mehr SPs, das heißt das umstellen von ohne auf mit oder umgekehrt
ist relativ aufwàndig, wenn ich alle Skripte modifizieren muss.

Kann ich irgendwie diese Option abhàngig von einem Flag oder einer Variable setzen???
Mir würde etwas vorschweben ala C++ ...

CREATE PROCEDURE schema.procBeispiel
(
@nVariable INT
)
#ifdef _PRODSERVER WITH ENCRYPTION
#endif // _WIN32_WCE
AS


So könnte ich dann auf meinem Produktivsystem _PRODSERVER setzen und auf dem Entwicklungsserver eben
nicht. Wenn ich die Skripte ausführe habe ich automatisch die Verschlüsselung oder nicht.

Lutz
 

Lesen sie die antworten

#1 Frank Kalis
12/10/2009 - 13:42 | Warnen spam
"Lutz Uhlmann" wrote:

Ich habe die Erstellungsskripte (DROP und CREATE) meiner Stored Procedures als sql-Dateien abgelegt.

Auf meinem Entwicklungsserver lege ich die SPs ohne WITH ENCRYPTION an, auf dem Produktiv-System mit
WITH ENCRYPTION.
Es werden jetzt natürlich immer mehr SPs, das heißt das umstellen von ohne auf mit oder umgekehrt
ist relativ aufwàndig, wenn ich alle Skripte modifizieren muss.

Kann ich irgendwie diese Option abhàngig von einem Flag oder einer Variable setzen???
Mir würde etwas vorschweben ala C++ ...

CREATE PROCEDURE schema.procBeispiel
(
@nVariable INT
)
#ifdef _PRODSERVER WITH ENCRYPTION
#endif // _WIN32_WCE
AS
.

So könnte ich dann auf meinem Produktivsystem _PRODSERVER setzen und auf dem Entwicklungsserver eben
nicht. Wenn ich die Skripte ausführe habe ich automatisch die Verschlüsselung oder nicht.




So etwas geht meines Wissens nach nicht. Du könntest höchstens beim
Erstellen der Prozeduren auf dem Dev Server ein --WITH ENCRYPTION einbauen
und das spàter, wenn Du das Change Skript für den Prod Server generierst,
durch WITH ENCRYPTION ersetzen.

Was versprichst Du Dir von der Verschlüsselung? Ueblicherweise sollten auf
einen Prod Server nur sehr wenige Leute VIEW (ANY) DEFINITION Berechtigungen
haben.

Und warum sollen es gleich alle Prozeduren sein? Sind die alle so
top-secret? :-)
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org

Ähnliche fragen