SQL Server Business Intelligence
Download
Report
Transcript SQL Server Business Intelligence
Trigger und Event Notifications im
SQL Server 2005
Artus Krohn-Grimberghe
Ehem. Student Partner
Microsoft Student Program
[email protected]
Microsoft SQL Server 2005 Architektur
Komponenten des
SQL Server 2005
Development Tools
Reporting Services
Analysis Services
OLAP & Data Mining
Integration Services
ETL
SQL Server
Relational Engine
Management Tools
RDBMS
ETL Werkzeug
OLAP Server
Data Mining
Reporting-Dienste
Management-Tools
Entwicklungs-Tools
Agenda
Aktive Komponenten
DML- und DDL-Trigger
Event Notifications
Ausblick SQL Server 2008
Aktive Komponenten
SQL Server Agent
Jobs (Automatisierung)
Alerts (Ereignis und Aktion)
Trigger
Event Notifications
Declarative Management Framework (ab
„Katmai“)
Agenda
Aktive Komponenten
DML- und DDL-Trigger
Event Notifications
Ausblick SQL Server 2008
DML- und DDL-Trigger
Prozeduren, die bei Datenbankereignissen
automatisch ausgeführt werden
Laufen im Kontext des Auslösers ab (sind
Teil der Transaktion, die sie ausgelöst hat)
Können den Auslöser zurückrollen
Werden nur einmal pro Befehl ausgeführt
DML- und DDL- / LOGON-Trigger
AFTER- und INSTEAD OF-Trigger
T-SQL- und .NET-Trigger
Ausführung im Kontext
Zurückrollen der Transaktion möglich
Beim Zurückrollen entstehen doppelte
Kosten, daher n.M. constraints (Datentyp,
CHECK, DEFAULT, PK, FK, DRI) benutzen
Berechtigungskontext beachten!
CREATE TRIGGER trg1 ON dbo.tbl1 AFTER
INSERT
AS
IF EXISTS(SELECT * FROM inserted WHERE
col1 = <some_value>) ROLLBACK
TRANSACTION
Verschachtelung und Rekursion
Trigger können standardmäßig andere
Trigger auslösen
Trigger können sich selbst aufrufen (ALTER
DATABASE <name> SET
RECURSIVE_TRIGGERS ON;)
AFTER Trigger
inserted und deleted Spezialtabellen
inserted: Zeilen für INSERT und UPDATE
deleted: Zeilen für UPDATE und DELETE
Mehrere Trigger pro Objekt möglich
(Reihenfolge nur als „first“ und „last“;
sp_settriggerorder)
INSTEAD OF Trigger
Original-Anweisung wird durch den Code
des Triggers komplett ersetzt
inserted und deleted enthalten die Daten,
die geändert worden *wären*!
Nie rekursiv, immer nur einer pro Operation
Auch auf Sichten möglich
Werden *vor* contraint-Prüfung ausgeführt
DDL Trigger
Auf Datenbank oder Serverebene
Für einzelne DDL Ereignisse oder Gruppen
EVENTDATA() Funktion
Nur AFTER Trigger
CREATE TRIGGER ddlTrigger ON
DATABASE FOR DROP_TABLE
CLR Trigger
Trigger können seit SQL Server 2005 in .NET
geschrieben werden
Zugriff auf die .NET Klassenbibliotheken
Zugriff auf externe Ressourcen
Warnung: Transaktion erst beendet, wenn
Trigger fertig! Externe Aufrufe eine
Sicherheitsproblem!
[SqlTrigger(Event=„FOR INSERT“)]
public static void trg_LogToEventlog() { …
Agenda
Aktive Komponenten
DML- und DDL-Trigger
Event Notifications
Ausblick SQL Server 2008
Trigger bieten im Vergleich zu Event
Notifications den Vorteil, dass sie im
Kontext der sie auslösenden Transaktion
ablaufen (und sie daher auch zurückrollen
können). Gleichzeitig leiden sie aber auch
an dem eklatanten Nachteil, dass sie im
Kontext der sie auslösenden Transaktion
ablaufen (und die Transaktion folglich
warten muss, bis jegliche Triggeraktivität
beendet ist, ehe sie fortfahren kann)!
WAITFOR DELAY ‚0:03‘; …
Event Notifications
„Asynchrone Antworten auf ein Ereignis“
Können keine Transaktionen zurückrollen!
Trigger:
Reaktion auf DML und DDL Ereignisse
Führen Code aus
Event Notifications:
Reaktion auf DDL und Trace/Performance
Ereignisse (CREATE TABLE,
LOCK_DEADLOCK,…)
Senden XML-Nachrichten
Voraussetzungen für Event Notifications
SQL Server 2005 oder neuer
Service Broker Nachrichtenwarteschlange
muss aktiviert sein
Ein Dienst, der auf EN reagiert, muss erstellt
werden
Erweiterte Service Broker Funktionalität
(Aktivierung, …) kann genutzt werden
Agenda
Aktive Komponenten
DML- und DDL-Trigger
Event Notifications
Ausblick SQL Server 2008
Management by Intent
Today
Tomorrow
From Managing by scripts
To Management by Policies
By default SQL Server 2005
turns off sensitive features
e.g. CLR, Database Mail and
OLE Automation
To enable CLR and Database
Mail the DBA must either:
Use Surface Area
Configurator (SAC) tool to
explicitly enable these
features OR
Use T-SQL script to do so
To monitor compliance the
DBA will manually run SAC or her
script regularly
In Katmai, Declarative Management
Framework (DMF) will offer easy
configuration, automation and enforcement
To enable CLR and Database Mail with
DMF, the DBA will simply
Define a policy to enable these
features
From Management Studio simply run
the policy
Compliance checking: DMF will
automatically enforce the policy
based on a schedule OR
it will check once a user changes the
configuration
Reporting: DMF reports policy violation
each time it occurs
Can run on multiple servers
automatically
Advanced Performance
Analysis
Extensible Data Collector
• Katmai will collect
performance data e.g.
memory usage, disk usage,
etc
• User can also define other
sets of events for tracking
Performance Data
Warehouse
• The Performance data warehouse
will store deep data on SQL
Server’s performance including
query performance and locking
issues
• The data can be analyzed to offer
deep insights on SQL Server’s
performance
Rich Performance
Reports
• Historical data on database
performance will be displayed in
rich reports
• Reports will allow drill downs
for root cause analysis
Administratives…
PASS – Professional Association for SQL
Server
„Die“ SQL Server Nutzergruppe!
www.sqlpass.de
Regelmäßige SQL Server Workshops und
BootCamps
Nutzergruppentreffen – von Usern für User
SQL Jedis und SQL Rookies – jeder ist
willkommen
Ressourcen SQL Server
http://www.microsoft.com/sql
http://connect.microsoft.com/SQLServer
http://forums.microsoft.com/MSDN
http://www.microsoft.com/vhd
MSDN AA für Informatik-Studenten!
Inside SQL Server Buch-Reihe
Data Mining with Microsoft SQL Server 2005
(Tang, MacLennan)
Microsoft Certified Professional,
Technology Specialist, IT Professional, …
http://www.microsoft.com/mcp
Microsoft Student Program
Friedrich-Schiller-Universität Jena
Fakultät für Mathematik und Informatik
MSDN - Academic Alliance
Microsoft Software für Euch kostenlos!!!
•
•
•
•
•
Betriebssysteme (Vista, XP, 2003, …)
SQL Server 2005
Visual Studio 2005
Office Visio, Project, Access, InfoPath
…
Euer Ansprechpartner:
Dr. Günter Schorr (EAP Raum 3416)
25
Veranstaltungen an der FSU Jena
•
•
ASP.NET 2.0 Workshop
24.-25. März 2007
12.-13. Mai 2007
… weitere Veranstaltungen in Planung!
Ankündigung unter: www.dotnetcommunity.de
26
Microsoft Student Partner an der FSU Jena
Stefan Kontschinsky
(Dipl. Informatik)
[email protected]
Auch Student Partner werden:
www.studentprogram.de
27
Fragen
Was ist neu am SQL Server 2005
.NET Framework
Database Maintenance
Replication
Common Language Runtime Integration Backup and Restore Enhancements
Auto-tuning Replication Agents
User-defined Aggregates
Checksum Integrity Checks
Oracle Publication
User-defined Data Types
Dedicated Administrator Connection
Improved Blob Change Tracking
User-defined Functions
Dynamic AWE
OLAP and Data Mining
SQL Server .NET Data Provider
Fast Recovery
Analysis Management Objects
Extended Triggers
Highly-available Upgrade
Windows Integrated Backup and Restore
Data Types
Online Index Operations
Web Service/XML for Analysis
Managed SQL Types
Online Restore
DTS and DM Integration
New XML Datatype
Parallel DBCC
New Data Mining Algorithms
SQL Server Engine
Parallel Index Operations
Auto Packaging and Deployment
New Message Service Broker
Management Tools
Data Transformation Services
HTTP Support (Native HTTP)
New Management Studio
New Architecture (DTR + DTP)
Database Tuning Advisor
MDX Query Editor
Complex Control Flows
Multiple Active Result Sets
Version Control Support
Control Flow Debugging
Persisted Computed Columns
XML/A
For Each Enumerations
Queuing Support
SQLCMD Command Line Tool
Property Mappings
Snapshot Isolation Level
Performance Tuning
Full Data Flow Designer
Scale Up Partitioning
Profiler Enhancements
Full DTS Control Flow Designer
VIA support
Profiling Analysis Services
Graphical Presentation of Pkg Execution
NUMA support
Exportable Showplan
Immediate Mode and Project Mode
Database Failure and Redundancy
Exportable Deadlock Traces
Package (Advanced) Deployment Tools
Fail-over Clustering (up to 8 node)
Full-text Search
Custom Tasks and Transformations
Enhanced Multi-instance Support
Indexing of XML Datatype
Reporting Services
Database Mirroring
MDAC
Multiple Output Formats
Database Viewpoints
Side by Side installation
Parameters (Static, Dynamic, Hierarchical)
XML
Microsoft Installer base setup
Bulk Delivery of Personalized Content
XQUERY Support (Server & Mid Tier)
Support for Active Directory Deployment
Support Multiple Data Sources
XML Data Manipulation Language
SQL Client .NET Data Provider
STS (Web Parts, Doc Libraries)
FOR XML Enhancements
Server Cursor Support
Visual Design Tool
XML Schema (XSD) Support
Asynch
Charting, Sorting, Filtering, Drill-Through
MSXML 6.0 (Native)
Security
Scheduling, Caching
.Net XML Framework
All Permissions Grantable
Complete Scripting Engine
Notification Services & SQL Server CE
Fine Grain Administration Rights
Scale Out architecture
Transparent Data
Encryption
External Key Management
Data Auditing
Pluggable CPU
Transparent Failover for
Database Mirroring
Declarative Management
Framework
Server Group Management
Streamlined Installation
Enterprise System
Management
Performance Data
Collection
System Analysis
Data Compression
Query Optimization Modes
Resource Governor
Entity Data Model
LINQ
Visual Entity Designer
Entity Aware Adapters
SQL Server Change Tracking
Synchronized Programming Model
Visual Studio Support
SQL Server Conflict Detection
FILESTREAM data type
Integrated Full Text Search
Sparse Columns
Large User Defined Types
Date/Time Data Type
LOCATION data type
Enterprise Reporting
Engine
Internet Report
Deployment
Block Computations
Scale out Analysis
BI Platform Management
Export to Word and Excel
Author reports in Word
and Excel
SPATIAL data type
Report Builder
Enhancements
Virtual Earth Integration
TABLIX
Partitioned Table Parallelism
Rich Formatted Data
Query Optimizations
Personalized
Perspectives
Persistent Lookups
… and many more
Change Data Capture
Backup Compression
MERGE SQL Statement
Data Profiling
Star Join