Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

SQL Server 2016: Triggers, Stored Procedures und Funktionen

Verschlüsselung bei Skalarfunktionen

Testen Sie unsere 2019 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Der Zusatz ENCRYPTION verhindert, dass der Quellcode der Funktion auf dem Server gespeichert wird.
03:19

Transkript

Genauso wie Trigger und gespeicherte Prozeduren können auch Skalarfunktionen verschlüsselt werden in der Form, dass der SQL-Server lediglich eine vorkompilierte Version speichert, nicht aber den Quelltext und damit bin ich darauf angewiesen, dass ich selber in irgendeiner Form den Quelltext noch zur Hand habe, wenn ich möchte, dass ich entsprechend hier noch Änderungen durchführen möchte in der Zukunft. Ganz gut geeignet für Szenarien, wo ich meine Programmierung auf dem SQL-Server an Kunden ausliefere, damit mir nicht in die Funktion reinschauen können und vielleicht viel schlimmer, da Änderungen machen. Wieder im SQL Server Management Studio lege ich zunächst einmal die Datenbank an, wie so oft, dann eine Tabelle, dann einige Zeilen in dieser Tabelle, und ich kann dann eine Funktion erstellen, die hier ein bisschen rechnet. Genau gesagt, fragt sie die Anzahl der Zeilen in dieser Tabelle ab und guckt wenn der Wert 0 ist, dann wird der Wert auf NULL gesetzt, das wird zum Schluss zurückgegeben. Die Funktion ist ganz normal angelegt. Sie hat jetzt hier in dem Fall keine Parameter, nichtsdestotrotz muss ich hier auch beim Anlegen die runden Klammern mitangeben und RETURNS IN und danach WITH ENCRYPTION und das sorgt dafür, dass die Funktion angelegt wird, dass sie auch funktioniert, sechs Zeilen habe ich eingefügt. Dann kann ich alle Zeile löschen und dann müsste in der Tat auch NULL zurückgeliefert werden. Das geschieht an der Stelle auch. Ich kann hier zum Beispiel in der Programmierung einmal nachschauen unter Funktionen Skalarwertfunktionen, ob ich den Inhaltscript... Nein, kann ich nicht. Sie sehen allerdings hier kein Schlüsselsymbol. Sei erinnern sich vielleicht, wenn Sie die Kapitel über Stored Procedures oder über Trigger gesehen haben dass da ein kleines Symbol angezeigt wurde. SQL-Server 2014 macht das zumindest noch nicht, hier scheinen die Entwickler, was vergessen zu haben, das heißt, ich kann hier nicht erkennen, ob es wirklich eine verschlüsselte Funktion ist oder nicht und ich auch das Kontextmenü zugreifen. Anderer Weg wäre ja möglicherweise wenn ich hingehen wurde und sage SELCT * FROM Information_ Schema.Routines Ich kann da mal einen Blick reinwerfen und auch da finde ich die Funktion. Wen ich weiter nach rechts scrolle, gibt es hier die Spalte ROUTINE_DEFINITION und hier sollte dann entsprechend auch der Quelltext stehen, wenn es welchen gäbe. Ich könnte einen Gegentest machen, ich nehme das mal hier raus, dann lass das ganze Skript nochmal laufen und das sind die beiden Ausgaben für die Aufrufe hier. Wenn ich das separiere, dann kann ich jetzt nach rechts scrollen und hier finden Sie dann entsprechend genau die Definitionen. Wenn ich hierhin gehe und sage, ich möchte das skripten, bekomme ich das Ergebnis auch. Das heißt, mit der Angabe von WITH ENCRYPTION, wird die Skalarwertfunktion angelegt, allerdings der Quelltext nicht explizit gespeichert.

SQL Server 2016: Triggers, Stored Procedures und Funktionen

Nutzen Sie in SQL Server Trigger, gespeicherte Prozeduren, Late Binding, Fehlerbehandlung sowie Scalar- und Tabellenwertfunktionen.

3 Std. 12 min (44 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:08.08.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!