TechNet Seminar SQL Server 2005 Technischer Überblick Steffen Krause Technologieberater steffenk@microsoft.com Blog: http://blogs.technet.com/steffenk
Agenda Einführung Verwaltung Sicherheit Verfügbarkeit Business Intelligence
Einführung SQL Server 2005 Daten-Plattform Integration Services
Database Maintenance Replication Backup and Restore Enhancements Checksum Integrity Checks Dedicated Administrator Connection Dynamic AWE Fast Recovery Highly-available Upgrade Online Index Operations Online Restore Parallel DBCC Parallel Index Operations Management Tools New Management Studio MDX Query Editor Version Control Support XML/A SQLCMD Command Line Tool Performance Tuning Profiler Enhancements Profiling Analysis Services Exportable Showplan Exportable Deadlock Traces Full-text Search Indexing of XML Datatype MDAC Side by Side installation Microsoft Installer base setup Support for Active Directory Deployment SQL Client.NET Data Provider Server Cursor Support Asynch Security All Permissions Grantable Fine Grain Administration Rights Separation of Users and Schema Auto-tuning Replication Agents Oracle Publication Improved Blob Change Tracking OLAP and Data Mining Analysis Management Objects Windows Integrated Backup and Restore Web Service/XML for Analysis DTS and DM Integration New Data Mining Algorithms Auto Packaging and Deployment Data Transformation Services New Architecture (DTR + DTP) Complex Control Flows Control Flow Debugging For Each Enumerations Property Mappings Full Data Flow Designer Full DTS Control Flow Designer Graphical Presentation of Pkg Execution Immediate Mode and Project Mode Package (Advanced) Deployment Tools Custom Tasks and Transformations Reporting Services Multiple Output Formats Parameters (Static, Dynamic, Hierarchical) Bulk Delivery of Personalized Content Support Multiple Data Sources STS (Web Parts, Doc Libraries) Visual Design Tool Charting, Sorting, Filtering, Drill-Through Scheduling, Caching Complete Scripting Engine Scale Out architecture Open XML Report Definition Notification Services & SQL Server CE.NET Framework Common Language Runtime Integration User-defined Aggregates User-defined Data Types User-defined Functions SQL Server.NET Data Provider Extended Triggers Data Types Managed SQL Types New XML Datatype SQL Server Engine New Message Service Broker HTTP Support (Native HTTP) Database Tuning Advisor Multiple Active Result Sets Persisted Computed Columns Queuing Support Snapshot Isolation Level Scale Up Partitioning VIA support NUMA support Database Failure and Redundancy Fail-over Clustering (up to 8 node) Enhanced Multi-instance Support Database Mirroring Database Viewpoints XML XQUERY Support (Server & Mid Tier) XML Data Manipulation Language FOR XML Enhancements XML Schema (XSD) Support MSXML 6.0 (Native).Net XML Framework
Einführung Produktivität erhöhen Enterprise Data Management Höchste Verfügbarkeit für Unternehmensanwendungen Neue Security und Performance Features Management und Selbst-Optimierung Developer Productivity Integration mit Visual Studio und.net Natives XML Offene Standards, Interoperabilität via Web Services Business Intelligence Vollständige ETL-Lösung Echtzeit-Entscheidungsunterstützung: Reporting, Data Mining Verbesserte Skalierbarkeit und Verfügbarkeit Sichere, zuverlässige und produktive Datenbankplattform für Line-of-Business und analytische Anwendungen
Agenda Einführung Verwaltung Sicherheit Verfügbarkeit Business Intelligence
Management Studio Neu: SQL Server Management Studio Neue umfassende GUI Integrierte Entwicklung und Verwaltung Unterstützt alle SQL Server Komponenten Verwaltung mehrerer Server Ersetzt Enterprise Manager, Query Analyzer Dynamische Hilfe
Demo Management Studio
Diagnose-Tools Dynamic Management Views Abfragen klären viele Fragen, die vorher Dumps, Repros, komplexes Tracing erfordert haben Konsistente, vielseitig nutzbare Diagnoseinformationen z.b.: dm_exec_* Ausführung von Benutzercode und zugehörige Connections dm_os_* Server-Informationen wie Speicherverbrauch, Locks, Scheduling dm_tran_* Transaktionen und Isolation dm_io_* Input/Output auf Netzwerk und Festplatte
Diagnose-Tools Profiler Integriert mit Performance Monitor Deadlock Graph Integration mit Analysis Services Integration Services Service Broker Ergebnisse als XML Trace-Recht ist GRANTbar
Diagnose-Tools Weitere Diagnosetools Integrierter Log File Viewer SQL Server Logs SQL Agent Logs Windows Logs Activity Monitor Locks in Echtzeit WMI Event Alerts
Demo Diagnosetools
Security-Tools Surface Area Configuration Wizard Leichtes Ein- und Ausschalten sicherheitskritischer Features, Dienste und Protokolle SQL Configuration Manager Zentrale Kontrolle über Dienste Einschalten der Verschlüsselung serverseitig Auch ohne manuell erstelltes Zertifikat! SQL Logins sind immer verschlüsselt, wenn der Client das unterstützt
Demo Security-Tools
Weitere Tools SQLCMD Kommandozeilen-Tool für die Ausführung von T-SQL Statements und Scripts Ersetzt osql Benutzt OLE DB (nicht ODBC oder DB-Library) Kann dedizierte Administrator-Verbindung verwenden
Weitere Tools Database Mail Verwendet SMTP, nicht Extended MAPI Profile Sicher Profile erlauben die Definition von Benutzern mit Zugriff auf SQLiMail Verwaltung integriert in SQL Server Management Studio Failover Mehrere SMTP-Servers können in einem Profil angegeben werden Service Broker wird verwendet, um Blockierung in einer Stored Procedure zu vermeiden Stored Procedure: sendimail_sp
Weitere Tools Tuning Tools XML Show Plan Öffentlich verfügbares Schema Programmatischer Zugriff Portabilität Database Tuning Advisor Zeitgebundene Analysen Was-wäre-wenn Analysen Skalierbarkeit
Demo Database Tuning Advisor
Agenda Einführung Verwaltung Sicherheit Verfügbarkeit Business Intelligence
Sicherheit Neue Features SD 3 +C Secure by Default, Deployment, Design + Communication Auditing DDL Trigger Login-Trigger Ereignisse Berechtigungen und Authentifizierung Katalog-Sicherheit Erweiterte Berechtigungsvergabe Common Criteria EAL4+ Zertifizierung für SP2 vorgesehen
Endpoint-basierte Authentifizierung Endpoint Eintrittspunkt in eine Instanz Bindet Transport-Protokoll an Inhalt Transport-Protokolle Named Pipes Shared Memory TCP HTTP VIA TDS SSB Inhalte SOAP Database Mirroring HTTP Off by Default, Muss manuell erstellt werden Default: Keine Berechtigungen Andere Transport-Protokolle Default-Endpoint für jeden aktivierten Transport bei Start erstellt CONNECT-Berechtigung an aktive Logins (DENY möglich) Vorteile Transport/Inhalt-basierter Zugriff,Start/Stop/Deaktivieren möglich
SQL Server Sicherheitsmodell Netzwerk-Verbindungsanfrage/Pre-Login Handshake Verbindung mit SQL Server Computer Login-Authentifizierung gegen SQL Server Login-Credentials; Authorisierung gegen EP Wechsel zu einer Datenbank, authorisiere Zugriff Erstellen eines Datenbank-Kontext Versuch einer Aktion Prüfung der Berechtigungen für alle Aktionen
Sicherheit Benutzer-Schema-Trennung Jedes Schema hat einen Eigentümer Benutzer oder Rolle Jeder Benutzer hat ein Default-Schema Erstellung von Objekten innerhalb eines Schema Berechtigung und ALTER oder CONTROL Berechtigung auf das Schema Beispiel: Erstellen einer Tabelle in einem Schema erfordert CREATE TABLE Berechtigung und Eigentümerschaft am Schema oder ALTER oder CONTROL auf das Schema gehört Rolle1 Schema1 Datenbank gehört SP1 User1 Tab1 Hat Default Schema Schema3 Fn1 Rolle2 Schema2 gehört
Sicherheit Ausführungskontext SQL Server 2000 User 3 SQL Server 2005 Execute-Recht geprüft für User3 User2.Proc1 User1.Proc1 Execute-Recht geprüft für User3 Execute AS X Select-Recht geprüft für User3 User1.T1 User1.T1 KEINE Rechte geprüft für User3 User 3 User2.Proc1 User1.T1 Execute-Recht geprüft für User3 Select -Recht geprüft für X. Nicht für User3
Sicherheit Modul-Ausführungskontext Execute AS CALLER Execute AS Benutzername Execute AS SELF Execute AS OWNER
Execute As zur Rechtevergabe Szenario: Benutzer sollen jede Nacht Tabellen TRUNCATEn Problem: TRUNCATE ist kein vergebbares Recht Benutzer bräuchten mindestens ALTER-Recht Lösung: Execute As als Rettung Prozedur, die TRUNCATE auf die Tabellen ausführt EXECUTE AS Benutzer mit ALTER-Recht Execute-Recht auf Prozedur für ausführende Benutzer Ergebnis: Benutzer können TRUNCATE ausführen, aber nicht mehr!
Demo Ausführungskontext
Sicherheit Verschlüsselung Verschlüsselung Verschlüsselung benutzt symmetrische Schlüssel, asymmetrische Schlüssel und Zertifikate SQL Server 2005 kann Verschlüsselungs- Zertifikate erzeugen oder Zertifikat-Server verwenden RC4, RSA, Triple-DES und AES unterstützt
Agenda Einführung Verwaltung Sicherheit Verfügbarkeit Business Intelligence
Verfügbarkeit Was bedeutet das für Sie? Können Ihre Kunden tun, was sie tun müssen, wenn es getan werden muss? Warum nicht? Site ist nicht verfügbar System ist nicht verfügbar Datenbank ist nicht verfügbar Datenbank ist teilweise nicht verfügbar Tabelle ist nicht verfügbar Daten sind nicht verfügbar 24x7x365
Failover Clustering Microsoft Server Cluster Server Cluster Passiver Server Virtueller Server Aktiver Server Cluster Storage
Database Mirroring Grundlagen des Mirroring Commit Bestätigung Bestätigung Übertragen auf Mirror Schreiben in Log Committed im Log Schreiben in Mirror-Log DB Log Log DB
Database Mirroring Mit Witness Server Principal Witness Transaktionen Clients Mirror
Vergleich von Verfügbarkeitsoptionen Feature Database Mirroring Hot Standby Warm Standby Cold Standby Failover Clustering Peer-to- Peer Replikation Transaktionale Replikation Log Shipping Backup / Restore Detach / Copy / Attach Datenverlust Keiner (optional) Keiner Möglich Möglich Möglich Möglich Wahrscheinlich Failover automatisch Ja Ja Optional Nein Nein Nein Nein Transparent für Client Ja, Auto- Redirect Ja, Reconnect auf selbe IP Optional Nein, NLB hilft Nein, NLB hilft Nein Nein Ausfallzeit < 3 Sekunden 20 Sec + DB Recovery keine Sekunden Sekunden + DB Recovery Erkennen, Restore, Manueller Failover Erkennen, Attach, Manueller Failover Standby Lesezugriff Über Snapshot nein Dauerhaft verfügbar Dauerhaft verfügbar Manchmal verfügbar Nein Nein
Vergleich von Verfügbarkeitsoptionen Feature Database Mirroring Hot Standby Warm Standby Cold Standby Failover Clustering Peer-to-Peer Replikation Transaktionale Replikation Log Shippin g Backup / Restore Detach / Copy / Attach Ebene minimal Datenbank Instanz Tabelle oder Sicht Tabelle oder Sicht Datenbank Datenbank Datenbank Behandelt Plattenfehler Ja Nein, RAID erforderlich Ja Ja Ja Ja Ja Spezielle Hardware Nein, zweites System Spezielle Hardware aus Cluster HCL Nein, zweites System Nein, zweites System Nein, zweites System Nein, zweites System Nein, zweites System Komplexität Mittel Hoch Hoch Hoch Hoch Mittel Mittel
Verfügbarkeit Sliding Window -Szenario Neue Daten werden regelmäßig hinzugefügt (dauernd, täglich, wöchentlich, monatlich) Daten müssen umgeformt, gesäubert, indiziert werden Je älter die Daten desto seltener werden sie geändert Irgendwann werden die Daten gelöscht Sliding Window Zeit Obsolet Read-Only Read-Mostly Hot
10 Terabyte eine DB? MeineGroßeDatenbank 1994 1995 2004 Eine einzige Datenbank Partitionen Partitionen einzeln verwaltet Online/Offline ReadOnly/ReadWrite Restore (Online!)
Verfügbarkeit Tabellen-Partitionierung SQL Server 2000 erlaubt partitionierte Sichten SQL Server 2005 erlaubt partitionierte Tabellen und Indizes Verbesserte Performance auf Mehrprozessormaschinen Vereinfachtes Daten-Management logische Gruppierung Verschieben von Daten einfacher
Backup/Restore Online Restore Nur primäre Filegroup muss verfügbar sein Filegroups können einzeln Offline genommen werden File/Filegroup/Page Restore
Backup/Restore Piecemeal Restore Online Restore der Datenbank nach Priorität Datenbank Verfügbar Backups Primär Primäre Filegroup Log Filegroup A Filegroup A Filegroup B Filegroup B
Backup/Restore Kurzes Restore für Read-Only Daten Kein Log-Restore wenn File/Filegroup seit Backup nicht geändert Logs angewendet bis Read-Only Nützlich für Read-Only Tabellen oder Partitionen Filegroup Read-Only setzen Empfohlen für Vollständig & Massenprotokolliert Verhindert versehentliche Änderung & Hintergrundtasks Erforderlich für Modell Einfach
Demo Partitionierung und Piecemeal Restore
Agenda Einführung Verwaltung Sicherheit Verfügbarkeit Business Intelligence
Relationale Engine DW Partitionierung Skalierbarkeit & Concurrency Datenmanagement Online Index-Operationen Snapshot Isolation Level Insert und Load Verbesserungen T-SQL Erweiterungen
Zusammenfassung Neue integrierte Verwaltungstoold Secure by design, by deployment, und by default Erweiterte und verbesserte Verfügbarkeits- Optionen Vollständige BI Lösung
Q & A