TechNet Seminar SQL Server 2005 Technischer Überblick Steffen Krause Technologieberater [email protected] 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 .NET Framework Backup and Restore Enhancements Auto-tuning Replication Agents Common Language Runtime Integration Checksum Integrity Checks Oracle Publication User-defined Aggregates Dedicated Administrator Connection Improved Blob Change Tracking User-defined Data Types Dynamic AWE OLAP and Data Mining User-defined Functions Fast Recovery Analysis Management Objects SQL Server .NET Data Provider Highly-available Upgrade Windows Integrated Backup and Restore Extended Triggers Online Index Operations Web Service/XML for Analysis Data Types Online Restore DTS and DM Integration Managed SQL Types Parallel DBCC New Data Mining Algorithms New XML Datatype Parallel Index Operations Auto Packaging and Deployment SQL Server Engine Management Tools Data Transformation Services New Message Service Broker New Management Studio New Architecture (DTR + DTP) HTTP Support (Native HTTP) MDX Query Editor Complex Control Flows Database Tuning Advisor Version Control Support Control Flow Debugging Multiple Active Result Sets XML/A For Each Enumerations Persisted Computed Columns SQLCMD Command Line Tool Property Mappings Queuing Support Performance Tuning Full Data Flow Designer Snapshot Isolation Level Profiler Enhancements Full DTS Control Flow Designer Scale Up Partitioning Profiling Analysis Services Graphical Presentation of Pkg Execution VIA support Exportable Showplan Immediate Mode and Project Mode NUMA support Exportable Deadlock Traces Package (Advanced) Deployment Tools Database Failure and Redundancy Full-text Search Custom Tasks and Transformations Fail-over Clustering (up to 8 node) Indexing of XML Datatype Reporting Services Enhanced Multi-instance Support MDAC Multiple Output Formats Database Mirroring Side by Side installation Parameters (Static, Dynamic, Hierarchical) Database Viewpoints Microsoft Installer base setup Bulk Delivery of Personalized Content XML Support for Active Directory Deployment Support Multiple Data Sources XQUERY Support (Server & Mid Tier) SQL Client .NET Data Provider STS (Web Parts, Doc Libraries) XML Data Manipulation Language Server Cursor Support Visual Design Tool FOR XML Enhancements Asynch Charting, Sorting, Filtering, Drill-Through XML Schema (XSD) Support Security Scheduling, Caching MSXML 6.0 (Native) All Permissions Grantable Complete Scripting Engine .Net XML Framework Fine Grain Administration Rights Scale Out architecture Separation of Users and Schema Open XML Report Definition Notification Services & SQL Server CE Einführung Produktivität erhöhen Enterprise Data Management Developer Productivity • Höchste Verfügbarkeit für Unternehmensanwendungen Neue Security und Performance Features • Management und Selbst-Optimierung • 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 SD3+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 Datenbank Rolle1 Hat Default Schema gehört Schema1 Rolle2 User1 gehört Schema2 Schema3 SP1 Fn1 Tab1 gehört Sicherheit Ausführungskontext SQL Server 2000 Execute-Recht geprüft für User3 Select-Recht geprüft für User3 User2.Proc1 User1.T1 User1.Proc1 User1.T1 Execute-Recht geprüft für User3 KEINE Rechte geprüft für User3 User 3 SQL Server 2005 „Execute AS „X‟ ‟ User 3 User2.Proc1 Execute-Recht geprüft für User3 User1.T1 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üsselungsZertifikate 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 Aktiver Server Virtueller Server Cluster Storage Database Mirroring Grundlagen des Mirroring Bestätigung Commit Bestätigung Übertragen auf Mirror Schreiben in Log DB Committed im Log Log Schreiben in Mirror-Log Log DB Database Mirroring Mit Witness Server Principal Witness Transaktionen Clients Mirror Vergleich von Verfügbarkeitsoptionen Hot Standby Feature Warm Standby Cold Standby Database Mirroring Failover Clustering Peer-toPeer Replikation Transaktionale Replikation Log Shipping Backup / Restore Detach / Copy / Attach Keiner (optional) Keiner Möglich Möglich Möglich Möglich Wahrscheinlich Ja Ja Optional Nein Nein Nein Nein Transparent für Client Ja, AutoRedirect 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 Datenverlust Failover automatisch Vergleich von Verfügbarkeitsoptionen Hot Standby Feature Warm Standby Cold Standby Database Mirroring Failover Clustering Peer-to-Peer Replikation Transaktionale Replikation Log Shippin g Backup / Restore Detach / Copy / Attach 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 Ebene minimal 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 • Eine einzige Datenbank Partitionen • Partitionen einzeln verwaltet • Online/Offline – ReadOnly/ReadWrite • Restore (Online!) 2004 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 Backups Primär Log Datenbank Verfügbar Primäre Filegroup 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ügbarkeitsOptionen Vollständige BI Lösung Q&A