SQL Server 2012 Express Möglichkeiten und Grenzen der kostenfreien SQL Server Edition Robert Panther, Senior Consultant 14.03.2013 © CGI Group Inc. Vorstellung 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 2 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 SQL Server Editionen im Vergleich Kostenfreie Editionen • Compact Edition • Express Edition SQL Azure Spezialeditionen • Web Edition • Developer Edition Haupteditionen • Standard Edition • Business Intelligence Edition • Enterprise Edition 5 SQL Server Editionen im Vergleich max. CPUs / Cores max. RAM DB-Größe unbegrenzt unbegrenzt 4 GB Express Edition 1/4 1 GB 10 GB Web Edition 4 / 16 64 GB 524 PB Developer Edition unbegrenzt unbegrenzt 524 PB Standard Edition 4 / 16 64 GB 524 PB Business Intelligence Edition 4 / 16 64 GB 524 PB unbegrenzt unbegrenzt 524 PB Edition kostenfreie Editionen Spezialeditionen Haupteditionen Compact Edition 4.0 Enterprise Edition Komplette Liste der von den verschiedenen Editionen unterstützten Features: http://msdn.microsoft.com/de-de/library/cc645993.aspx 6 Verschiedenene Varianten von SQL Server 2012 Express 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 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: • komprimiertes Backup: • unkomprimiertes Backup (gezippt): 28 204.885 KB 46.799 KB 38.878 KB 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 SSISTechnologie 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