Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.

Ähnliche Präsentationen


Präsentation zum Thema: "SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH."—  Präsentation transkript:

1 SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

2 Agenda Übersicht CLR Integration Übersicht CLR Integration.NET Servercodeentwicklung.NET Servercodeentwicklung Zusammenfassung Zusammenfassung

3 Was bietet die Integration? Serverseitige Routinen in C#, VB.NET, … Serverseitige Routinen in C#, VB.NET, … Stored Procedures, Functions, Triggers, Data Types & Aggregates Stored Procedures, Functions, Triggers, Data Types & Aggregates Erweitertes Sicherheitsmodell Erweitertes Sicherheitsmodell Einheitliche Entwicklungsumgebung Einheitliche Entwicklungsumgebung Performancevorteile Performancevorteile

4 Implementierung ImplementierungServercode Statische Methoden mit [Attribut] Statische Methoden mit [Attribut] Stored Procedures, Functions & Triggers Stored Procedures, Functions & Triggers Aggregates Aggregates Implementierung als Struct mit Attribut [SqlUserDefinedAggregate] Implementierung als Struct mit Attribut [SqlUserDefinedAggregate] Types Types Implementierung als Klasse oder Struct mit Attribut Implementierung als Klasse oder Struct mit Attribut[SqlUserDefinedType]

5 So gehts! SQL Abfragen: SELECT GetOrderCount(region) FROM order VS.NET Projekt VB,C#,C++ Build SQL Server SQL Definitionen: create assembly … create function … create procedure … create trigger … create type … SQL Definitionen: create assembly … create function … create procedure … create trigger … create type … Assembly

6 Integration != Integration Hier: SQL 2000 Extended Stored Procedures Client SqlServr.exe Daten Ext. SP Select * 1. Connection Select * 2. Connection 2. Thread Abbildung aus A First Look at SQL Server 2005 for Developers, AW

7 SQL Server 2005 Beste Integration der Welt! SqlServr.exe Daten SqlCommand cmd =... cmd.ExecuteNonQuery() SqlCommand cmd =... cmd.ExecuteNonQuery() Managed Code Unmanaged Code PInvoke Abbildung aus A First Look at SQL Server 2005 for Developers, AW Client 1. Connection Zugriff auf Ausführungskontext: + Connections + Ausgabestrom zum Client + Trigger-Kontext + …

8 SQLCLR ist standardmäßig deaktiviert SQLCLR ist standardmäßig deaktiviert SQL Zugriffsrechte kontrollieren die Erstellung von Assemblies und Routinen, sowie die Ausführung SQL Zugriffsrechte kontrollieren die Erstellung von Assemblies und Routinen, sowie die Ausführung Code Access Security (CAS) kontrolliert, was ein Assembly machen darf Code Access Security (CAS) kontrolliert, was ein Assembly machen darf Security

9 Security Die 3 Permission Sets Die 3 Permission Sets Safe Safe Zugriff auf lokale Daten, eingeschränktes Programmiermodell (keine Static Member), nur managed Code Zugriff auf lokale Daten, eingeschränktes Programmiermodell (keine Static Member), nur managed Code External_access External_access Wie Safe, jedoch Zugriff auf Dateien, Registry, Netzwerk Wie Safe, jedoch Zugriff auf Dateien, Registry, Netzwerk Unsafe Unsafe Voller Zugriff, Unmanaged Code, keine Überprüfungen, keine Einschränkungen Voller Zugriff, Unmanaged Code, keine Überprüfungen, keine Einschränkungen Einstellung wird bei Erstellung festgelegt Einstellung wird bei Erstellung festgelegt create assembly MyAsm from c:\foo.dll with permission_set = safe

10 .NET oder T-SQL? Verwenden Sie.NET Routinen … Verwenden Sie.NET Routinen … … wenn es mit T-SQL nicht möglich ist … wenn es mit T-SQL nicht möglich ist … für aufwendige Rechenoperationen … für aufwendige Rechenoperationen … um Logik zu implementieren … um Logik zu implementieren … wenn auf wenige Daten zugegriffen wird … wenn auf wenige Daten zugegriffen wird Verwenden Sie T-SQL … Verwenden Sie T-SQL … … bei datenintensiven Abfragen … bei datenintensiven Abfragen Fallweise Unterscheidung notwendig!! Fallweise Unterscheidung notwendig!!

11 Agenda Übersicht CLR Integration Übersicht CLR Integration.NET Servercodeentwicklung.NET Servercodeentwicklung Zusammenfassung Zusammenfassung

12 .NET Integration

13 Agenda Übersicht CLR Integration Übersicht CLR Integration.NET Servercodeentwicklung.NET Servercodeentwicklung Zusammenfassung

14 Zusammenfassung Implementierung erfolgt in gewohnter Umgebung mit gewohnter.NET Klassenbibliothek Implementierung erfolgt in gewohnter Umgebung mit gewohnter.NET Klassenbibliothek Integration ermöglicht Zugriff auf den Ausführungskontext Integration ermöglicht Zugriff auf den Ausführungskontext Von der CLR-Integration gezielt Gebrauch machen, kein Ersatz für T-SQL Von der CLR-Integration gezielt Gebrauch machen, kein Ersatz für T-SQL Bspw. für die Implementierung von Business Logik und rechenintensiven Operationen Bspw. für die Implementierung von Business Logik und rechenintensiven Operationen

15 MSDN Online – Alles für den Entwickleralltag Stets auf dem Laufenden mit dem MSDN Newsletter, RSS-Feeds sowie personalisierten Infos & Services via MSDN Connection Stets auf dem Laufenden mit dem MSDN Newsletter, RSS-Feeds sowie personalisierten Infos & Services via MSDN Connection Technische Informationen über die MSDN Developer Center (z.B. Security), MSDN Webcasts und der MSDN Bibliothek Technische Informationen über die MSDN Developer Center (z.B. Security), MSDN Webcasts und der MSDN Bibliothek Informationen zu Produkten und begleitenden Services wie Training & Zertifizierung, technischem Support und Downloads Informationen zu Produkten und begleitenden Services wie Training & Zertifizierung, technischem Support und Downloads Das Developer Knowledge Network – Von Entwicklern für Entwickler. Die Meta-Suchmaschine mit über Ressourcen, RSS-Feeds und vielem mehr INETA User Groups – Treffen Sie Gleichgesinnte in einer der mehr als 40 bundesweit vertretenen INETA User Groups mit über Mitgliedern Ressourcen für Ihren Erfolg Von Microsoft und den Communities

16 Vielen Dank! Sebastian Weber

17


Herunterladen ppt "SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH."

Ähnliche Präsentationen


Google-Anzeigen