1 / 29

Trigger und Event Notifications im SQL Server 2005

Trigger und Event Notifications im SQL Server 2005. Artus Krohn-Grimberghe Ehem. Student Partner Microsoft Student Program artuskg@gmail.com. Microsoft SQL Server 2005 Architektur. Komponenten des SQL Server 2005 RDBMS ETL Werkzeug OLAP Server Data Mining Reporting-Dienste

violet
Download Presentation

Trigger und Event Notifications im SQL Server 2005

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Trigger und Event Notifications imSQL Server 2005 Artus Krohn-Grimberghe Ehem. Student Partner Microsoft Student Program artuskg@gmail.com

  2. Microsoft SQL Server 2005 Architektur • Komponenten des SQL Server 2005 • RDBMS • ETL Werkzeug • OLAP Server • Data Mining • Reporting-Dienste • Management-Tools • Entwicklungs-Tools Development Tools Management Tools Reporting Services Analysis Services OLAP & Data Mining Integration Services ETL SQL Server Relational Engine

  3. Agenda • Aktive Komponenten • DML- und DDL-Trigger • Event Notifications • Ausblick SQL Server 2008

  4. Aktive Komponenten • SQL Server Agent • Jobs (Automatisierung) • Alerts (Ereignis und Aktion) • Trigger • Event Notifications • Declarative Management Framework (ab „Katmai“)

  5. Agenda • Aktive Komponenten • DML- und DDL-Trigger • Event Notifications • Ausblick SQL Server 2008

  6. 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

  7. 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 ASIF EXISTS(SELECT * FROM inserted WHERE col1 = <some_value>) ROLLBACK TRANSACTION

  8. 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;)

  9. 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)

  10. 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

  11. 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

  12. 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“)]publicstaticvoidtrg_LogToEventlog() { …

  13. Agenda • Aktive Komponenten • DML- und DDL-Trigger • Event Notifications • Ausblick SQL Server 2008

  14. 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‘; …

  15. 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

  16. 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

  17. Agenda • Aktive Komponenten • DML- und DDL-Trigger • Event Notifications • Ausblick SQL Server 2008

  18. Management by Intent • Tomorrow • To Management by Policies • 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 Today From Managing by scripts • 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

  19. Advanced Performance Analysis

  20. Administratives… • PASS – Professional Associationfor 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

  21. 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

  22. Microsoft Student Program Friedrich-Schiller-Universität Jena Fakultät für Mathematik und Informatik

  23. 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)

  24. 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

  25. Microsoft Student Partner an der FSU Jena • Stefan Kontschinsky(Dipl. Informatik) • stefan.kontschinsky@studentprogram.de • Auch Student Partner werden: • www.studentprogram.de

  26. Fragen

  27. Was ist neu am SQL Server 2005 .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 Notification Services & SQL Server CE Database Maintenance • 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 Replication • 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

  28. 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 • Report Builder Enhancements • TABLIX • Rich Formatted Data • Personalized Perspectives • … and many more • 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 • SPATIAL data type • Virtual Earth Integration • Partitioned Table Parallelism • Query Optimizations • Persistent Lookups • Change Data Capture • Backup Compression • MERGE SQL Statement • Data Profiling • Star Join • 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

More Related