Inhaltsverzeichnis Vorwort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XI Anmerkungen zur 2. Auflage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIII 1 Einführung in SQL Server 2005 . . . . . . . . . . . . . . . . . . . . . Geschichte des SQL Servers . . . . . . . . . . . . . . . . . . . . . . . . . Wichtige Designziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . »Always up« . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . »Ease of use« . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Autokonfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Microsofts strategische Ziele mit dem SQL Server 2005 . Neue Design-Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . »This is not your father's DTS« . . . . . . . . . . . . . . . . . . . . Unified Dimensional Model (UDM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Excel wird zu klein für uns . . . . . . . . . . . . . . . . . Ablegen der Rechnungsdaten eines Unternehmens. Aufbau einer ersten SQL Server 2005-Datenbank . Anlegen der Datenbank . . . . . . . . . . . . . . . . . . . Anlegen einer Tabelle . . . . . . . . . . . . . . . . . . . . . Festlegen der Sicherheit . . . . . . . . . . . . . . . . . . . . . . Datensicherung und Wiederherstellung . . . . . . . . . Wartung einer einfachen SQL Server Datenbank . . Der SQL Server Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 . 35 . 36 . 45 . 57 . 76 . 88 . 98 . 105 3 Lasset die Daten zu mir kommen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Import der Umsatzdaten des Unternehmens aus dem Altsystem . . . . . . . . . . . Die Data Transformation Services des SQL Server 2000 . . . . . . . . . . . . . . . . . DTS-Verbindungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DTS-Tasks, Transformationen und Workflows . . . . . . . . . . . . . . . . . . . . . . Die Neuerungen im SQL Server 2005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SQL Server Integration Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entwicklung von Integration Services-Paketen auf dem SQL Server 2005. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 113 114 115 115 116 116 123 4 .NET und Managed Code in SQL Server 2005 . Das .NET Framework . . . . . . . . . . . . . . . . . . . . . . Technologie. . . . . . . . . . . . . . . . . . . . . . . . . . . . Produkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 148 148 148 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 4 4 5 5 6 25 25 30 31 VII Rupprecht Dröge, Markus Raatz: SQL Server 2005 - Konfigurierung, Administration, Programmierung - 2. Auflage. Microsoft Press 2006 (ISBN 978-3-86063-997-9) Die Vorteile von .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . COM – Component Object Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . Anwendungsarchitektur in .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DLL – Dynamic Link Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Microsoft Access® als Rapid Application Development Tool für den SQL Server 2005. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die Datenschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Die Geschäftsschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Das Microsoft Solution Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . UML – Unified Modeling Language. . . . . . . . . . . . . . . . . . . . . . . . . . . Die Präsentationsschicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verteilte Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADO.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Access Application Block for .NET . . . . . . . . . . . . . . . . . . . . . . . Visual Studio 2005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Visual Basic .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operatoren überladen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Allgemeine Neuerungen in Visual Studio 2005 . . . . . . . . . . . . . . . . . . .NET im SQL Server 2005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erstellen einer .NET DLL für den SQL Server 2005 . . . . . . . . . . . . . . Ein SQL Projekt in Visual Studio 2005 . . . . . . . . . . . . . . . . . . . . . . . . Gespeicherte Prozeduren als API der Datenbank . . . . . . . . . . . . . . . . Gespeicherte Prozeduren mit .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . Trigger in .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Benutzerdefinierte Datentypen in .NET . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 152 154 156 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 160 162 163 164 165 167 175 183 184 185 190 190 195 197 199 200 207 214 216 218 5 Gute Nachrichten verbreiten sich schnell . . . . . . . . . . . . . . . . . . . . . . . Bereitstellung der Unternehmensdaten in den Filialen des Unternehmens Datenreplikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Replikationsarchitektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Replikationstypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zentrales Berichtswesen mit Reporting Services. . . . . . . . . . . . . . . . . . . . . Architektur der Reporting Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reporterstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Der Berichts-Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eigene Anwendungen mit den Reporting Services. . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 221 222 223 224 233 237 242 253 256 259 6 Wollen Sie’s gleich mitnehmen? . . . . . . . . . . . . . . Bereitstellen von Kundendaten für den Außendienst SQL Server Express Edition . . . . . . . . . . . . . . . . . . . Einfaches Setup . . . . . . . . . . . . . . . . . . . . . . . . . . SQL Server Management Studio Express . . . . . . Replikation mit der Unternehmensdatenbank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 261 262 264 265 267 VIII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inhaltsverzeichnis Rupprecht Dröge, Markus Raatz: SQL Server 2005 - Konfigurierung, Administration, Programmierung - 2. Auflage. Microsoft Press 2006 (ISBN 978-3-86063-997-9) SQL Server Mobile Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 .NET Compact Framework 2.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Datenaustausch mit SQL Server Mobile Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 7 Von der Textverarbeitung direkt in die Datenbank Was ist XML? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XML-Schemata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Namensräume. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XSL(T) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XML-DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Microsoft Office und XML . . . . . . . . . . . . . . . . . . . . . . . Datenexport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Datenaustausch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InfoPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Datenverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . WordML und ExcelML . . . . . . . . . . . . . . . . . . . . . . . .NET und XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XML in SQL Server 2005 . . . . . . . . . . . . . . . . . . . . . . . . Der Datentyp XML. . . . . . . . . . . . . . . . . . . . . . . . . . . Typisiertes XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XML DML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XML Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Primärer Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sekundäre Indizes . . . . . . . . . . . . . . . . . . . . . . . . . . . Anwendungen mit XML . . . . . . . . . . . . . . . . . . . . . . . Webservice-Architektur . . . . . . . . . . . . . . . . . . . . . . . Webservice in SQL Server 2005. . . . . . . . . . . . . . . . . Vorteile von ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 276 279 279 280 282 283 283 284 287 289 290 292 292 293 300 302 305 306 307 308 308 311 312 319 320 8 Die Würfel sind gefallen . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erstellen einer Auswertung aufgrund der Unternehmensdaten Einführung in OLAP, Cubes und andere schwierige Wörter . . OLAP auf dem Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Geschichte der SQL Server Analysis Services. . . . . . . . . . . . . . OLAP in SQL Server 2005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . Erstellen eines Cubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wartung des Cubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OLAP Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wieso überhaupt Data Mining . . . . . . . . . . . . . . . . . . . . . . . Erzeugen von Mining-Modellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 321 323 324 326 328 328 345 354 360 360 361 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Keine Angst vor vielen Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 Erfassen und Konsolidieren großer Datenmengen in der Unternehmensdatenbank . . . 365 Viele Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Inhaltsverzeichnis IX Rupprecht Dröge, Markus Raatz: SQL Server 2005 - Konfigurierung, Administration, Programmierung - 2. Auflage. Microsoft Press 2006 (ISBN 978-3-86063-997-9) Dateigruppen . . . . . . . . . . . . . . . . . . . . . . . . . . Datendateierweiterungen im SQL Server 2005 Anwendungsmuster . . . . . . . . . . . . . . . . . . . . . Aufteilung über mehrere Server . . . . . . . . . . . . Partitionierte Sichten . . . . . . . . . . . . . . . . . . . . Vermeiden Sie Select *-Abfragen . . . . . . . . . . . Partitionierte Tabellen . . . . . . . . . . . . . . . . . . . Transaction Isolation Level . . . . . . . . . . . . . . . Der neue »Profiler« . . . . . . . . . . . . . . . . . . . . . . . . Performance Tuning . . . . . . . . . . . . . . . . . . . . . Hochverfügbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . Protokollversand (Log Shipping) . . . . . . . . . . . Database Mirroring. . . . . . . . . . . . . . . . . . . . . . SQL Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Bis zur Unendlichkeit, und noch viel weiter . SQL Service Broker . . . . . . . . . . . . . . . . . . . . . . . Dialoge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loose coupling . . . . . . . . . . . . . . . . . . . . . . . . Go! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zusammenarbeit mit Office . . . . . . . . . . . . . . Listen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Benachrichtigungen . . . . . . . . . . . . . . . . . . . . Einsatzszenarien . . . . . . . . . . . . . . . . . . . . . . . Programmierung . . . . . . . . . . . . . . . . . . . . . . . Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WinFx. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XAML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Und noch viel weiter . . . . . . . . . . . . . . . . . . . . . . Der nächste Server: Katmai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 370 370 372 374 375 377 383 386 392 396 396 399 403 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 408 410 411 411 413 414 416 417 418 420 420 423 425 426 427 Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Die Autoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 X Inhaltsverzeichnis Rupprecht Dröge, Markus Raatz: SQL Server 2005 - Konfigurierung, Administration, Programmierung - 2. Auflage. Microsoft Press 2006 (ISBN 978-3-86063-997-9)