29
SQL Server 2005 Übersicht für Entwickler Sebastian Weber Sebastian Weber Developer Evangelist Developer Evangelist Microsoft Deutschland GmbH Microsoft Deutschland GmbH

SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

Embed Size (px)

Citation preview

Page 1: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

SQL Server 2005Übersicht für EntwicklerSQL Server 2005Übersicht für Entwickler

Sebastian WeberSebastian WeberDeveloper EvangelistDeveloper EvangelistMicrosoft Deutschland GmbHMicrosoft Deutschland GmbH

Page 2: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

Schwerpunkte SQL Server Schwerpunkte SQL Server 20052005

Integration mit Visual Studio und .NETIntegration mit Visual Studio und .NET Native XML-UnterstützungNative XML-Unterstützung Interoperabilität durch WebservicesInteroperabilität durch Webservices

DeveloperReady

DeveloperReady

Vielfältige Erweiterungen bei den Vielfältige Erweiterungen bei den Verfügbarkeits-TechnologienVerfügbarkeits-Technologien

Mehr Sicherheit und GeschwindigkeitMehr Sicherheit und Geschwindigkeit Selbstmanagement und OptimierungSelbstmanagement und Optimierung

MissionReady

MissionReady

Business Business IntelligenceIntelligence out-of-the-Box out-of-the-Box Datenintegration und -Datenintegration und -aufbereitungaufbereitung (ETL) (ETL) Entscheidungsunterstützung durch Entscheidungsunterstützung durch

umfangreiches Datamining und Reportingumfangreiches Datamining und ReportingDecisionReady

DecisionReady

Page 3: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

AgendaAgenda

T-SQL ErweiterungenT-SQL Erweiterungen

.NET Framework Integration.NET Framework Integration

Web ServicesWeb Services

XML-UnterstützungXML-Unterstützung

Service BrokerService Broker

Page 4: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

Viele neue Helfer …Viele neue Helfer …

Neue DatentypenNeue Datentypen DDL TriggerDDL Trigger DML mit AusgabeDML mit Ausgabe TOPTOP DRI ErweiterungenDRI Erweiterungen FehlerbehandlungFehlerbehandlung CTECTE Except und IntersectExcept und Intersect

Ranking Ranking FunktionalitätFunktionalität

Index Index VerbesserungenVerbesserungen

Snapshot Isolation Snapshot Isolation LevelLevel

Recompile Recompile OptimierungOptimierung

XML ShowplanXML Showplan

Page 5: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

Common Table ExpressionsCommon Table Expressions

Common Table Expression (CTE)Common Table Expression (CTE) Sind so was wie „ad-hoc views“Sind so was wie „ad-hoc views“ Sind in SQL-99 definiertSind in SQL-99 definiert Sind weniger kompliziert als man denktSind weniger kompliziert als man denkt

CTEs sind Eintrittskarte zur RekursionCTEs sind Eintrittskarte zur Rekursion Iterativer Ansatz meist deutlich Iterativer Ansatz meist deutlich

aufwändigeraufwändiger

Page 6: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

So sieht eine CTE aus!So sieht eine CTE aus!

WITH <CTE-Name> (<Spaltennamen>) AS ( <Abfrage>)SELECT * FROM <CTE-Name>

WITH ProdukteCTE (Name, Kategorie) AS ( SELECT PName, KName FROM Produkte P INNER JOIN Kategorien K ON P.KategorieID = K.ID)

SELECT * FROM ProdukteCTE …

Page 7: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

T-SQLT-SQL

Page 8: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

AgendaAgenda

T-SQL ErweiterungenT-SQL Erweiterungen

.NET Framework Integration.NET Framework Integration

Web ServicesWeb Services

XML-UnterstützungXML-Unterstützung

Service BrokerService Broker

Page 9: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

Was bietet die Was bietet die Integration?Integration? Serverseitige Routinen in C#, Serverseitige Routinen in C#,

VB.NET, …VB.NET, …

Stored Procedures, Functions, Triggers, Stored Procedures, Functions, Triggers,

Data Types & AggregatesData Types & Aggregates

Erweitertes SicherheitsmodellErweitertes Sicherheitsmodell

Einheitliche EntwicklungsumgebungEinheitliche Entwicklungsumgebung

PerformancevorteilePerformancevorteile

Page 10: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

So geht‘s!So geht‘s!

SQL Abfragen: SELECT GetOrderCount(region) FROM order

SQL Abfragen: SELECT GetOrderCount(region) FROM order

VS .NET

Projekt

VS .NET

Projekt

VB,C#,C++ Build

SQL Serve

r

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

Page 11: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

.NET Framework Integration.NET Framework Integration

Page 12: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

AgendaAgenda

T-SQL ErweiterungenT-SQL Erweiterungen

.NET Framework Integration.NET Framework Integration

Web ServicesWeb Services

XML-UnterstützungXML-Unterstützung

Service BrokerService Broker

Page 13: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

Zahlreiche Zugriffsoptionen Zahlreiche Zugriffsoptionen vorhandenvorhanden

Aber 1: trotzdem nicht für jeden Aber 1: trotzdem nicht für jeden erreichbarerreichbar

Aber 2: weit weg vom ServerAber 2: weit weg vom Server

Zugang zum SQL Server Zugang zum SQL Server 20002000

TDS/TDS/TCPTCP

NamedNamedPipesPipes

TDS/TDS/TCPTCP

NamedNamedPipesPipes

ODBC, ODBC, OLE OLE DB, DB,

Ado.NeAdo.Nett

ODBC, ODBC, OLE OLE DB, DB,

Ado.NeAdo.Nett

SQL SQL SERVERSERVER

SQL SQL SERVERSERVERSQLXMSQLXM

LLIISIIS

SQLXMSQLXMLL

IISIIS

Page 14: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

Zugang zum SQL Server Zugang zum SQL Server 20052005

TDS/TDS/TCPTCP

NamedNamedPipesPipes

TDS/TDS/TCPTCP

NamedNamedPipesPipes

ODBC, ODBC, OLE OLE DB, DB,

Ado.NeAdo.Nett

ODBC, ODBC, OLE OLE DB, DB,

Ado.NeAdo.Nett SQL SQL

SERVERSERVER

SQL SQL SERVERSERVER

SOAP/SOAP/HTTPHTTP

SOAP/SOAP/HTTPHTTP

SQLXMSQLXMLL

IISIIS

SQLXMSQLXMLL

IISIIS

ClientClientClientClient

Page 15: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

Native Web ServicesNative Web Services

Interessant hinsichtlich Interessant hinsichtlich Interoperabilität Interoperabilität Getestet mit: Jbuilder 9, Axis 1.1, Perl, …Getestet mit: Jbuilder 9, Axis 1.1, Perl, …

SOAP/HTTPSOAP/HTTP Läuft ohne IISLäuft ohne IIS ~%40 schneller als SQLXML~%40 schneller als SQLXML

SQLXML bleibt bestehenSQLXML bleibt bestehen Updategrams, Bulkload, Query strings in Updategrams, Bulkload, Query strings in

URLURL

Page 16: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

Beispiel: Endpunkt Beispiel: Endpunkt erstellenerstellen

CREATE ENDPOINT sql_endpoint STATE = STARTED AS HTTP(

PATH = '/sql', AUTHENTICATION = ( INTEGRATED ), PORTS = ( CLEAR ), SITE = 'SERVER' )

FOR SOAP ( WEBMETHOD 'GetSqlInfo'

(name='SPGetServerInfo'), WSDL = DEFAULT, SCHEMA = STANDARD, DATABASE = 'Demo', NAMESPACE = 'http://tempUri.org/' );

Page 17: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

AnwendungsbeispieleAnwendungsbeispiele

Auslesen von StatusinformationenAuslesen von Statusinformationen System, aber auch der AnwendungSystem, aber auch der Anwendung

Prozesse anstoßenProzesse anstoßen

Verwenden Sie Native Web Services Verwenden Sie Native Web Services nichtnicht für den Aufbau von „Webfarms“für den Aufbau von „Webfarms“ für Anwendungen mit für Anwendungen mit

Echtzeitanforderungen und hohen Echtzeitanforderungen und hohen ZugriffszahlenZugriffszahlen

Page 18: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

AgendaAgenda

T-SQL ErweiterungenT-SQL Erweiterungen

.NET Framework Integration.NET Framework Integration

Web ServicesWeb Services

XML-UnterstützungXML-Unterstützung

Service BrokerService Broker

Page 19: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

<Damals/> &amp; <Damals/> &amp; <Heute/><Heute/> XML mit dem Sql Server 2000 XML mit dem Sql Server 2000

(SqlXml)(SqlXml) Relationale Daten Relationale Daten XML (FOR XML) XML (FOR XML) XML XML Relationale Strukturen (OPEN Relationale Strukturen (OPEN

XML)XML) XML-Dokumente als „Text“ speichernXML-Dokumente als „Text“ speichern

SQL Server 2005 bietet aber mehrSQL Server 2005 bietet aber mehr XML-Datentyp mit XSD-UnterstützungXML-Datentyp mit XSD-Unterstützung XQuery/XPath im Sql-Statement nutzbarXQuery/XPath im Sql-Statement nutzbar Indexierung der XML-KnotenIndexierung der XML-Knoten Verbesserung FOR XML und OPEN XMLVerbesserung FOR XML und OPEN XML

Page 20: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

XML-Datentyp verwendenXML-Datentyp verwenden

Indexierung möglich, wenn dem Xml ein Schema Indexierung möglich, wenn dem Xml ein Schema zugewiesen wurde („typisiert“)zugewiesen wurde („typisiert“)

Volltext-Indexierung wird ebenfalls unterstützt!Volltext-Indexierung wird ebenfalls unterstützt! Natürlich auch per Management Studio …Natürlich auch per Management Studio …

CREATE TABLE XmlTabelle {ID int,MeinXml XML ('MeinSchema.xsd')

}

CREATE INDEX idx_MeinXml ON XmlTabelle (MeinXml);

Page 21: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

XML-UnterstützungXML-Unterstützung

Page 22: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

AgendaAgenda

T-SQL ErweiterungenT-SQL Erweiterungen

.NET Framework Integration.NET Framework Integration

Web ServicesWeb Services

XML-UnterstützungXML-Unterstützung

Service BrokerService Broker

Page 23: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

Was ist der Service Was ist der Service Broker?Broker?

AA BBKommunikationKommunikation

CC

TransportTransport

DD

TransportTransport

TransportTransport

Plattform für Plattform für

asynchrone asynchrone

DatenbankanwendungDatenbankanwendung

enen

TransaktionenTransaktionen

Zuverlässige Zuverlässige

ÜbermittlungÜbermittlung

T-SQL IntegrationT-SQL Integration

Page 24: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

Beispiel: Nachricht sendenBeispiel: Nachricht senden

DECLARE @dialog_handle UNIQUEIDENTIFIER;DECLARE @ExpenseReport XML;

SET @ExpenseReport = ‘<Expense><Employee Name=“Sebas..

BEGIN DIALOG @dialog_handle FROM SERVICE [//Adventure-Works.com/ExpenseClient] TO SERVICE '//Adventure-Works.com/Expenses' ON CONTRACT [//Adventure-Works.com/ExpenseProcessing];

SEND ON CONVERSATION @dialog_handle MESSAGE TYPE [//Adventure-Works.com/SubmitExpense] (@ExpenseReport);

Page 25: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

AnwendungsbeispieleAnwendungsbeispiele

Service-orientierte ArchitekturenService-orientierte Architekturen

Parallele Stored ProceduresParallele Stored Procedures Eine SP startet weitere SPsEine SP startet weitere SPs

Asynchrone TriggerAsynchrone Trigger

Asynchrone StapelverarbeitungAsynchrone Stapelverarbeitung Eingehende Bestellung kommt in QueueEingehende Bestellung kommt in Queue Parallele Abarbeitung der QueueParallele Abarbeitung der Queue Verteilte Abarbeitung der BestellungVerteilte Abarbeitung der Bestellung

Page 26: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

AgendaAgenda

T-SQL ErweiterungenT-SQL Erweiterungen

.NET Framework Integration.NET Framework Integration

Web ServicesWeb Services

XML-UnterstützungXML-Unterstützung

Service BrokerService Broker

Page 27: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

MSDN Online – Alles für den EntwickleralltagMSDN Online – Alles für den Entwickleralltag Stets auf dem Laufenden mit dem Stets auf dem Laufenden mit dem MSDN NewsletterMSDN Newsletter, , RSS-RSS-

FeedsFeeds sowie personalisierten Infos & Services via sowie personalisierten Infos & Services via MSDN MSDN ConnectionConnection

Technische Informationen über die Technische Informationen über die MSDN Developer CenterMSDN Developer Center(z.B. Security), (z.B. Security), MSDN WebcastsMSDN Webcasts und der und der MSDN BibliothekMSDN Bibliothek

Informationen zu Produkten und begleitenden Services wie Informationen zu Produkten und begleitenden Services wie Training & ZertifizierungTraining & Zertifizierung, , technischem Supporttechnischem Support und und DownloadsDownloads

www.microsoft.com/germany/msdnwww.microsoft.com/germany/msdn

www.ineta.orgwww.ineta.org

www.codezone.dewww.codezone.deDas Developer Knowledge Network – Von Das Developer Knowledge Network – Von Entwicklern für Entwickler. Die Meta-Entwicklern für Entwickler. Die Meta-Suchmaschine mit über 10.000 Ressourcen, Suchmaschine mit über 10.000 Ressourcen, RSS-Feeds und vielem mehrRSS-Feeds und vielem mehr

INETA User GroupsINETA User Groups – Treffen Sie – Treffen Sie Gleichgesinnte in einer der mehr als 40 Gleichgesinnte in einer der mehr als 40 bundesweit vertretenen INETA User Groups mit bundesweit vertretenen INETA User Groups mit über 4.500 Mitgliedernüber 4.500 Mitgliedern

Ressourcen für Ihren ErfolgRessourcen für Ihren ErfolgVon Microsoft und den CommunitiesVon Microsoft und den Communities

Page 28: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH

Vielen Dank!Vielen Dank!

Sebastian WeberSebastian [email protected]@microsoft.com

http://sebastianweber.orghttp://sebastianweber.org

Page 29: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH