Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

SQL Server 2016: Triggers, Stored Procedures und Funktionen

Verschlüsselung bei Tabellenwertfunktionen

LinkedIn Learning kostenlos und unverbindlich testen!

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

Transkript

Genauso wie auch gespeicherte Prozeduren und Views können Tabellenwertfunktionen ohne ihren Quelltext abgespeichert werden. Das heißt, der SQL-Server speichert nur eine vorkompilierte Variante, ohne dabei selber den Quelltext zu speichern. Das bedeutet, derjenige, der nur auf den SQL-Server Zugriff hat und nicht wirklich auf ihre Source, kann nicht in diese Funktion reingucken und entsprechend keine Änderung machen. Das ist in Szenarien halt sinnvoll, wo Sie Ihre Anwendung und den SQL-Server bzw. die Datenbank an Kunden ausliefern und nicht möchten, dass die Kunden sich quasi in Ihren Funktionen umschauen. Nachdem ich das nächste Skript geladen habe und die Datenbank neu aufgesetzt, kann ich hier zwei Tabellenwertfunktionen erzeugen: einmal die Inline-Variante und weiter unten die Multistatement-Variante, beide noch ohne WITH ENCRYPTION. Ich lasse einfach mal das komplette Skript laufen. Ich bekomme ein entsprechende Aufrufergebnis und hier das ist das Ergebnis von einen Zugriff auf INFORMATION_SCHEMA_ROUTINES. Wenn ich hier zur Seite scrolle, das haben wir schon in Prozeduren über den Skalarwertfunktion gesehen, dann finden Sie hier in der Spalte ROUTINE_DEFINITION entsprechend die Anweisungen, die genau den Quelltexten entsprechen für die Funktion. Das bedeutet auch, ich kann hier im Object Explorer auf der linken Seite hingehen und unter Funktionen Table-valued Function mir die auch anzeigen. Wenn ich möchte dann auch auf Modify gehen und genau dann bekomme ich das auch schon im Fenster geladen an der Stelle. Jetzt mache ich Folgendes: Jetzt gehe ich hin und kommentiere jeweils das WITH ENCRYPTION raus oder ein oder je nachdem, wie man das bezeichnen möchte, das heißt, es ist jetzt aktiv. Das bedeutet nach dem RETURNS, also hier RETURN TABLE bei der Inline-Variante und hier RETURNS nach der Definition der Tabelle bei der Multistatement-Variante, kann ich schreiben WITH ENCRYPTION und wenn ich das mache, dann kann ich wieder einen Zugriff auf INFORMATION_SCHEMA durchführen, das ist die Abfrage hier. Wenn ich hier weiter nach rechts scrolle, müsste auch die ROUTINE_DEFINITION- Spalte kommen, hier ist sie. Sie sehen, der Inhalt ist hier nicht vorhanden. Wenn ich jetzt hier aktualisiere, dann sehen Sie genau über den Skalarwertfunktion, der zeigt mir nicht an, dass sie verschlüsselt sind. Ich kann zum Beispiel auf Modify gehen, bekomme die entsprechende Fehlermeldung. Ich kann das Ganze auch nicht skripten, egal wie ich es mache, ich lande immer bei einer abweisenden Fehlermeldung. Das heißt, auf die Art und Weise stelle ich sicher, dass der Server die Funktion zwar noch ausführen kann, Funktionalität ist nach wie vor da, allerdings hat er selber nicht dem Bauplan, nicht die Sourcen für diese Funktion, sodass er nicht in der Lage ist, sie dem Entwickler anzubieten. Sie müssen also selber sicherstellen, genau wie bei den anderen Objekten, wenn Sie WITH ENCRYPTION verwenden, dass entsprechend auch Sie die Sourcen noch an einer anderen Stelle haben, sonst ist an der Stelle Schluss mit Entwickeln. Sie können eigentlich nur noch von Neuem mit dieser Funktion dann anfangen.

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!