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

50
SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH [email protected] http://blogs.msdn.com/sebweber

Transcript of SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH...

Page 1: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

SQL Server 2005Übersicht für Entwickler

Sebastian WeberMicrosoft Deutschland GmbH

[email protected]://blogs.msdn.com/sebweber

Page 2: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

2

Eine persönliche Fallstudie …

• „Großhandel“ für digitale Medien

• > 15 Mio. Medien

• Verlage haben verschiedene Formate

• > 30 Formate

• Integration der Dienste in Kunden-Intranets

• XML Web Services

Page 3: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

3

Grobarchitektur des Systems

Kunden

Eigenes Management

SQL Server

XML Daten Importer

Web Service Zugang

Berichte & Auswertunge

n

BestellungenVerlag

e

Page 4: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

4

Warum erfinden

wir das Rad

ständig neu?

Page 5: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

5

SQL Server 2005 Plattform

Page 6: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

6

Agenda

• Die Services im Überblick

• Erweiterungen der Datenbank• T-SQL Erweiterungen• .NET Framework Integration• XML & Web Service Unterstützung

Page 7: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

7

Integration Services

• ETL-Platform

• “Best in Class”-

Usability

• Workflow Designer

• Erweiterbar

Page 8: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

8

Mehr zu Integration Services

• Vortrag „Einführung Integration Services“Willfried Färber, Dienstag 20.9., 16:00h - 17:15h

• Vortrag „Praxisbeispiel Integration Services“Willfried Färber, Mittwoch 21.9., 15:45h - 17:00h

Page 9: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

9

Analysis Services

• Business Intelligence

• Unified Dimensional

Model

• Real-time

• Web Services

Page 10: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

10

Mehr zu Analysis Services

• Vortrag „OLAP für den Massenmarkt?“Markus Raatz, Mittwoch 21.9., 11:45h - 12:30h

• Vortrag „SQL Server 2005 BI“Meinrad Weiss, Mittwoch 21.9., 14:00h - 15:15h

Page 11: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

11

Reporting Services

• Berichte erstellen,

verwalten und verteilen

• Office Integration

• Verschiedene

Datenquellen

• Verschiedene

Ausgabeformate

Page 12: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

Reporting Services

Page 13: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

13

Mehr zu Reporting Services

• Vortrag „Reporting Services“Ruprecht Dröge, Dienstag 20.9., 14:15h - 15:30h

Page 14: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

14

Notification Services

• Plattform für Benachrichtigungsanw

• Deklaratives Programmiermodell

• Effizienter und skalierende Ausführungsdienst

• Entwickler schreibt Benachrichtigungsanw

Page 15: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

15

Replication Services

• Standort-übergreifende Datenverteilung

• Peer-to-Peer Verteilung

• Verteilung von Volltextindizes

• Web-Synchronisation

• Monitoring

AA BB

CC

Page 16: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

16

Service Broker

AA BBKommunikationKommunikation

CC

TransportTransport

DD

TransportTransport

TransportTransport

• Plattform für asynchrone

Datenbankanwendungen

• T-SQL Integration

• Transaktionen

• Zuverlässige Übermittlung

Page 17: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

17

Mehr zu Service Broker

• Vortrag „SQL Server Service Broker“Marcel Gnoth, Dienstag 20.9., 12:00h – 13:15h

Page 18: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

18

SQL Server 2005 Plattform

Page 19: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

19

Agenda

• Die Services im Überblick

• Erweiterungen der Datenbank• T-SQL Erweiterungen

• .NET Framework Integration

• XML & Web Service Unterstützung

Page 20: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

20

Viele neue Helfer …

• Neue Datentypen• DDL Trigger• DML mit Ausgabe• TOP• DRI Erweiterungen• Fehlerbehandlung• CTE• Except und Intersect

• Ranking Funktionalität• Index Verbesserungen• Snapshot Isolation

Level• Recompile Optimierung• XML Showplan

Page 21: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

21

Snapshot Isolation Level

Record 1„Kopie“

SQL Server 2005 Zugriff auf vorherigen Wert möglich!

Record 1schreibt

möchte lesen

Sql Server 2000 Max. Dirty-Read

Page 22: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

22

Mehr Speichern mit MAX

• varchar(max) und nvarchar(max)• Nachfolger von „text“ bzw. „ntext“

• varbinary(max)• Nachfolger von „image“

bis 2 GB (2^31 - 1 Bytes)

.WRITE & SUBSTRING

Page 23: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

23

Common Table Expressions

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

• CTEs sind Eintrittskarte zur Rekursion• Iterativer Ansatz meist deutlich aufwändiger

Page 24: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

24

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 25: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

25

Der Traum von der Rekursion

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

UNION ALL <SELECT … FROM CTE-Name>

)SELECT * FROM <CTE-Name>

Rekursion endet, wenn 2. Select kein Ergenis mehr liefert!

Page 26: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

Rekursive CTE

Page 27: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

27

Zusammengefasst: T-SQL

• varchar(max), nvarchar(max), varbinary(max)

• CTE

• EXCEPT/INTERSECT

• SELECT Row_Number() OVER …

Page 28: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

28

Mehr zu T-SQL

• Vortrag „Neue T-SQL Features“Jörg Neumann, Dienstag 20.9., 14:15h – 15:30h

Page 29: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

29

Agenda

• Die Services im Überblick

• Erweiterungen der Datenbank• T-SQL Erweiterungen

• .NET Framework Integration

• XML & Web Service Unterstützung

Page 30: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

30

Was bietet die Integration?

• Serverseitige Routinen in C#, VB.NET, …

• Stored Procedures, Functions, Triggers, Data

Types & Aggregates

• Erweitertes Sicherheitsmodell

• Einheitliche Entwicklungsumgebung

• Performancevorteile

Page 31: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

31

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 32: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

32

ImplementierungImplementierungServercode

Statische Methoden mit „[Attribut]“

• Stored Procedures, Functions & Triggers

• Aggregates Implementierung als Struct mit Attribut [SqlUserDefinedAggregate]

• Types Implementierung als Klasse oder Struct mit Attribut

Page 33: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

So geht’s im Detail!

Page 34: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

34

.NET oder T-SQL?

• Verwenden Sie .NET Routinen …• … wenn es mit T-SQL nicht möglich ist• … für aufwendige Rechenoperationen• … um Logik zu implementieren• … wenn auf wenige Daten zugegriffen wird

• Verwenden Sie T-SQL …• … bei daten-intensiven Abfragen

Page 35: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

35

Mehr zu .NET Integration

• Vortrag „SQL Server CLR Integration“Sebastian Weber, Dienstag 20.9., 12h – 13:15h

Page 36: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

36

Agenda

• Die Services im Überblick

• Erweiterungen der Datenbank• T-SQL Erweiterungen

• .NET Framework Integration

• XML & Web Service Unterstützung

Page 37: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

37

<Damals/> &amp; <Heute/>

• XML mit dem Sql Server 2000 (SqlXml)• Relationale Daten XML (FOR XML)• XML Relationale Strukturen (OPEN XML)• XML-Dokumente als „Text“ speichern

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

Page 38: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

38

XML-Datentyp verwenden

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

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

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

}

CREATE INDEX idx_MeinXml ON XmlTabelle (MeinXml);

Page 39: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

39

Die große Liebe: SQL + XML

SELECT ID, MeinXml.value('/Mein/XQuery‘, ‘string‘) AS Wert FROM XmlTabelle

SELECT ID, MeinXml.value('/Mein/XQuery‘, ‘string‘) AS Wert FROM XmlTabelle

Page 40: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

40

XML Zugriffsmöglichkeiten

• XML Methoden• query(), value(), exist(), modify(), nodes()

• Komplexe XML-Operationen mit FLWOR• FLWOR spricht man „Flower“• Und bedeutet For-Let-Where-Order-Return• Eigentlich nur FOWR, da „L“et noch nicht

supported

Page 41: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

41

Mehr zu XML

• Vortrag „XML im SQL Server“Ruprecht Dröge, Dienstag 20.9., 17:30h – 18:45h

Page 42: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

42

• Zahlreiche Zugriffsoptionen vorhanden

• Aber 1: trotzdem nicht für jeden erreichbar

• Aber 2: weit weg vom Server

Zugang zum SQL Server 2000

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 43: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

43

Zugang zum SQL Server 2005

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

(Unix) Client(Unix) Client(Unix) Client(Unix) Client

Page 44: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

44

SQL Server Web Services

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

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

• SQLXML bleibt bestehen• Updategrams, Bulkload, Query strings in URL

Page 45: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

45

Mehr zu Web Services

• Vortrag „SQL Server Web Services“Jörg Neumann, Dienstag 20.9., 17:30h – 18:45h

Page 46: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

46

Zusammengefasst

• XML• Eigener Datentyp mit XQuery Support• Indexierung der Knoten möglich• FOR XML / OPEN XML verbessert

• Web Services• Flinker SOAP-Layer, ~40% schneller als

SQLXML• Kompatibilität zu anderen System getestet

Page 47: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

47

Agenda

• Die Services im Überblick• Erweiterungen der Datenbank

• T-SQL Erweiterungen

• .NET Framework Integration

• XML & Web Service Unterstützung

Page 48: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

48

SQL Server

XML Daten Importer

Web Service Zugang

Berichte & Auswertungen

Bestellungen

Warum das Rad neu erfinden?

SQL Web Services !

SQL Reporting Services !

XML !

IntegrationServices !

CLR !

Volltext-recherche !

Page 49: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

49

Fragen und Antworten

Vielen Dank!Sebastian Weber

[email protected]

http://blogs.msdn.com/sebweber

Page 50: SQL Server 2005 Übersicht für Entwickler Sebastian Weber Microsoft Deutschland GmbH Sebastian.Weber@microsoft.com .

50

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.