SQL Server 2005 - Technischer Überblick

Transcription

SQL Server 2005 - Technischer Überblick
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