SQL Server 2012 Express - pantheronsql.files.wordpress.com · Agenda Überblick SQL Server...

35
© CGI Group Inc. SQL Server 2012 Express Möglichkeiten und Grenzen der kostenfreien SQL Server Edition Robert Panther, Senior Consultant 14.03.2013

Transcript of SQL Server 2012 Express - pantheronsql.files.wordpress.com · Agenda Überblick SQL Server...

© CGI Group Inc.

SQL Server 2012 Express Möglichkeiten und Grenzen der kostenfreien SQL Server Edition

Robert Panther, Senior Consultant

14.03.2013

Vorstellung

2

Name Robert Panther

Rolle Senior Consultant, Logica now a part of CGI

Fachliche

Schwerpunkte

• Datenbanken: Design, Implementierung & Administration

(insbesondere Performance Optimierung und ETL mit SSIS)

• Mobile Anwendungen: Design & Implementierung

• Webanwendungen: Implementierung & Administration

Technologien • Microsoft SQL Server

• Windows Mobile

• .NET (VB .NET & C#), ASP, ASP.NET

Methoden Datenbankdesign, Objektorientierte Programmierung, Strukturierte

Programmierung, Schulungskonzeption & Durchführung, Projektleitung

Zertifikate Informatik Diplom (FH)

MCTS SQL Server 2005 Implementation & Maintenance

MCTS SQL Server 2005 Business Intelligence

MCTS SQL Server 2008 Implementation & Maintenance

MCITP SQL Server 2008 Developer

Spezielles Autor von mehreren Fachbüchern und Fachartikeln

Leitung der SQL Server Expert Group bei Logica / CGI

regelmäßiger Speaker auf Fachkonferenzen

aktives PASS-Mitglied

Agenda

Überblick

SQL Server Editionen im Vergleich

verschiedene Varianten von SQL Server 2012 Express

Neuerungen im Vergleich zu SQL Server 2008 (R2)

Änderungen im T-SQL Sprachumfang

SQL Server Express LocalDB

SQL Server Data Tools

Workarounds für nicht unterstützte Features

Literatur & weitere Infos

3

Überblick

Kostenfreie Editionen

• Compact Edition

• Express Edition

Spezialeditionen

• Web Edition

• Developer Edition

Haupteditionen

• Standard Edition

• Business Intelligence Edition

• Enterprise Edition

5

SQL Server Editionen im Vergleich

SQL Azure

SQL Server Editionen im Vergleich

6

Edition max. CPUs / Cores max. RAM DB-Größe

kostenfreie Editionen Compact Edition 4.0 unbegrenzt unbegrenzt 4 GB

Express Edition 1 / 4 1 GB 10 GB

Spezialeditionen Web Edition 4 / 16 64 GB 524 PB

Developer Edition unbegrenzt unbegrenzt 524 PB

Haupteditionen Standard Edition 4 / 16 64 GB 524 PB

Business Intelligence Edition 4 / 16 64 GB 524 PB

Enterprise Edition unbegrenzt unbegrenzt 524 PB

Komplette Liste der von den verschiedenen Editionen unterstützten

Features: http://msdn.microsoft.com/de-de/library/cc645993.aspx

SQL Server Express

• SQL Server Engine

• SQL Server Express LocalDB

SQL Server Express mit Tools

• wie SQL Server Express

• + SQL Server Management Studio

SQL Server mit Advanced Services

• wie SQL Server Express mit Tools

• + SQL Server Reporting Services

7

Verschiedenene Varianten von

SQL Server 2012 Express

Neuerungen im Vergleich zu SQL 2008 (R2)

Für die größeren SQL Server Editionen relevant

• Hochverfügbarkeit mit AlwaysOn & Availability Groups

• Spaltenbasierte Indizes

• Power View (webbasierte Oberfläche zur Datenanalyse)

• SQL Server Data Quality Services

• Master Data Services überarbeitet

• BI Semantic Model (relationales oder tabulares Datenmodell)

• SSIS grundlegend überarbeitet

• Neues Lizenzmodell (jetzt Core-basiert)

8

Neuerungen im Vergleich zu SQL 2008 (R2)

Für alle Editionen (also auch SQL Server Express) relevant

• SQL Server Express LocalDB

• Änderungen im Sprachumfang

• SQL Server Management Studio überarbeitet

• nutzt VS 2010 Shell (inkl. Multi-Monitor Support, Zoom etc.)

• Restore Wizard

• SQL Server Data Tools lösen BIDS ab

• Besseres Zusammenspiel mit SQL Azure

• Contained Databases

• File Table

9

Neuerungen im Vergleich zu SQL 2008 (R2)

SQL Server Management Studio powered by Visual Studio

10

Neuerungen im Vergleich zu SQL 2008 (R2)

Restore Wizard

11

Änderungen im T-SQL Sprachumfang

Änderungen im T-SQL Sprachumfang

Sequenzen

• transaktional konsistenter Zähler über Tabellengrenzen hinweg

• frei definierbar (linear oder zirkulär)

• für alle numerischen Datentypen

• Bereiche über sys.sp_sequence_get_range abrufbar

• Syntax:

CREATE SEQUENCE Sequenzname AS INT

MINVALUE 1 NO MAXVALUE

INCREMENT BY 1 START WITH 100

SELECT NEXT VALUE FOR Sequenzname

13

Änderungen im T-SQL Sprachumfang

OFFSET-Klausel

• seitenweise Selektion von Abfrageergebnissen (für Paging)

• Syntax:

SELECT *

FROM SalesLT.Product

ORDER BY ProductNumber

OFFSET 100 ROWS

FETCH NEXT 20 ROWS ONLY

14

Änderungen im T-SQL Sprachumfang

Ausnahmebehandlung

• THROW erzeugt Exception und springt zu CATCH-Block

• erzeugt keinen Rollback

• THROW in CATCH-Block wirft Fehler nochmal (nach außen)

14 neue T-SQL Funktionen (u.A.):

• Konvertierung: PARSE, TRY_CONVERT

• Datum: DATEFROMPARTS, EOMONTH

• logisch: CHOOSE, IIF

• String: CONCAT, FORMAT

15

SQL Server Express LocalDB

SQL Server Express LocalDB

Unterschiede zu SQL Server Express

• Kein Service im herkömmlichen Sinn

• Lokale SQL Instanz, die erst bei Bedarf erstellt und gestartet wird

• Lässt sich leicht zusammen mit Anwendungen ausliefern & installieren

Aber …

• Identischer Sprachumfang wie SQL Server Express

• Wird in vielen Umgebungen die Compact Edition ersetzen

Installationsvarianten:

• zusammen mit SQL Server Express

• per separatem Installer: SqlLocalDB.msi

17

SQL Server Express LocalDB

Verwendung von SQL Server Express LocalDB

• Erstellung, Start und Stop einer Instanz über Command Line-Tool

• EXE liegt in C:\Program Files\Microsoft SQL Server\110\Tools\Binn\

• Erstellung: sqllocaldb create LocalDBTest

• Start: sqllocaldb start LocalDBTest

• Stop: sqllocaldb stop LocalDBTest

• Entfernen: sqllocaldb delete LocalDBTest

• Instanzname: (localdb)\LocalDBTest

• Ist die Instanz erstellt, kann sie wie ein “normaler” SQL Server Service

genutzt werden

Weitere Infos:

• Online-Hilfe: http://technet.microsoft.com/de-de/library/hh212961.aspx

18

SQL Server Data Tools

SQL Server Data Tools

Die SQL Server Data Tools ersetzen verschiedene Tools

• Business Intelligence Development Studio (BIDS)

• Visual Studio Database Tools (aka Data Dude)

• SQL CLR Integration mit Visual Studio

Installation

• Ein Teil (BI-Projekte) wird zusammen mit SQL Server installiert

• Nutzt die Visual Studio 2010 IDE

• Für SQL Server Express nur für die Reporting Services relevant

• Ein Teil (SQL Server Data Tools Development) kann bei Microsoft frei

heruntergeladen und nachinstalliert werden

20

SQL Server Data Tools (Development)

• Mit SQL Server 2012 erschienen, aber unabhängig davon nutzbar

• Separate Installer für VS 2010 und VS 2012 verfügbar

• Download für VS 2010: http://msdn.microsoft.com/en-us/jj650014

• Download für VS 2012: http://msdn.microsoft.com/en-us/jj650015

• Features:

• Datenbankprojekte zur Verwaltung von Datenstrukturen

• Statische Codeanalyse

• DB-Schemavergleich

• Datenbank Unit Tests

• SQL .NET CLR Integration (USPs, UFNs, Datentypen)

• Einige Features der Visual Studio Database Tools fehlen noch:

• DB-Datenvergleich

• Generierung von Testdaten

21

SQL Server Data Tools (Development)

Tabellen-Designer

22

SQL Server Data Tools (Development)

SQL .NET CLR-Integration

23

SQL Server Data Tools (Development)

Schemavergleich

24

SQL Server Data Tools (Development)

Statische Codeanalyse

25

Workarounds

für nicht unterstützte Features

Tasks ohne SQL Server Agent automatisieren

Problem:

Für automatisierte Tasks wird normalerweise der SQL Server Agent

genutzt, mit dem man Wartungsaufgaben zeitgesteuert ausführen lassen

kann.

Lösung:

1. SQL-Skript für Wartungsaufgabe erstellen

2. Batch-Datei erstellen, die das SQL-Skript über SQLCMD aufruft

3. Batch-Datei über Betriebssystemmittel (Aufgabenplanung)

zeitgesteuert aufrufen lassen

27

Komprimierte Backups

Problem:

Nur die größeren Editionen bieten die Möglichkeit für komprimierte Backups an.

Lösung:

1. Unkomprimiertes Backup manuell oder – wie zuvor beschrieben – per Aufgabenplanung erstellen.

2. Backup-Datei mit separatem Komprimierungstool packen (kann auch in Backup-Job eingebunden werden).

Beispiel: AdventureWorksDW2012

• unkomprimiertes Backup: 204.885 KB

• komprimiertes Backup: 46.799 KB

• unkomprimiertes Backup (gezippt): 38.878 KB

28

SQL Data Management Warehouse

Problem:

• SQL Server bietet dynamische Management Sichten, zur Auswertung

von Indexnutzung etc. an.

• Diese beinhalten jedoch nur Werte seit dem letzten Start des SQL

Server Dienstes.

• Mit dem seit SQL 2008 R2 verfügbaren SQL Data Management

Warehouse (aka Performance Data Warehouse) können diese Daten

persistiert werden.

Lösung:

1. Persistieren Sie die Daten mit Hilfe einer selbst geschriebenen

Abfrage in eine eigene Tabelle.

2. Lassen Sie die Abfrage – wie zuvor beschrieben – regelmäßig

laufen.

29

SSIS nicht verfügbar

Problem:

Die SQL Server Integration Services, die für Import & Export von Daten

genutzt werden können, sind für die Express Edition nicht verfügbar.

Lösung:

• Nutzen Sie stattdessen die Option “Daten importieren und exportieren”

aus dem Startmenü von SQL Server 2012, die ebenfalls auf der SSIS-

Technologie basiert.

• Wenn Datenim-/exporte automatisiert laufen sollen, nutzen Sie das

Bulk Copy Command Line Tool (BCP.EXE) in Kombination mit der

Aufgabenplanung.

30

Literatur & weitere Infos

Literatur & weitere Infos

Links zum Thema SQL Server Express:

• SQL Server 2012:

http://www.microsoft.com/de-de/server/sql-server/2012/default.aspx

• SQL Server Express Edition: http://www.microsoft.com/en-us/sqlserver/editions/2012-editions/express.aspx

• SQL Server 2012 Developer Training Kit:

http://www.microsoft.com/en-us/download/details.aspx?id=27721

Sonstige Links:

• SQL Server Blog: http://pantheronsql.wordpress.com

• Logica / CGI: http://www.logica.de / http://www.cgi.com

32

Literatur

Richtig einsteigen:

Datenbanken entwickeln mit SQL Server 2012 Mit SQL Server 2012 Express auf DVD

Robert Panther

Microsoft Press, 1. Auflage, Mai 2012

416 Seiten, Softcover

ISBN-10: 3866452195

ISBN-13: 978-3866452190

Preis: € 24,90

33

Ein kleines Anliegen in eigener Sache …

Zur Verstärkung unseres SQL Server Teams am Standort

Frankfurt/Sulzbach suchen wir …

Datenbankarchitekten Microsoft SQL Server (m/w)

Sie werden für die Beratung, Konzeption, Projektleitung, aber auch für die Realisierung von

anspruchsvollen Lösungen verantwortlich sein, deren technologischer Schwerpunkt im

Umfeld Microsoft SQL Server liegt. Sie helfen unseren Klienten, unternehmenskritische

Anwendungen hochverfügbar, sicher und kostengünstig zu gestalten. Dabei setzen Sie

moderne Methoden und Techniken ein und integrieren sie in die Unternehmenslandschaft.

Auf diese Weise tragen Sie dazu bei, dass zukunftsfähige Plattformen entstehen, auf denen

Business und E-Business sicher und stabil betrieben werden können.

Interesse? Dann sprechen Sie mich an, oder schicken Sie mir eine Mail an [email protected]

34

Vielen Dank für Ihre Aufmerksamkeit!

Robert Panther

[email protected]

35