Hochverfügbarkeit mit AlwaysOn für die SSISDB
Transcription
Hochverfügbarkeit mit AlwaysOn für die SSISDB
Hochverfügbarkeit mit AlwaysOn für die SSISDB Stefan Grigat, 13.06.2015 Speaker Bio Stefan Grigat BI-Consultant bei ORAYLIS GmbH MCSE & MCSA für SQL Server 2008 und 2012/2014 Über 8 Jahre praktische Anwendung des SQL Servers Entwicklung und Betrieb von SQL Server 2000 – 2014 Blog: http://blog.oraylis.de/author/sgrigat/ 2 ORAYLIS Überblick Spezialist für Big Data und Business Intelligence-Lösungen Gegründet 1999 70 Mitarbeiter Full-Service Business Intelligence Plan -> Build -> Run ORAYLIS ist Top BI Partner von Microsoft Outstanding HP and Microsoft Frontline Partner of the Year 2012 (Data Management) Black Belt Partner APS Premium Partner Shortlist Partner Microsoft Consulting Services (MCS) Silber Partner von Tableau Software Agenda Hochverfügbarkeit AlwaysOn Besonderheit SSISDB SQL Agent Jobs für Wiederanlauf nach Failover Ziele der Hochverfügbarkeit System bleibt nutzbar, auch bei Ausfall einzelner Komponenten Vermeidet „Single Point of Failures“ (Hdd, Strom, Netzwerk, Rechenzentrum) Service Level Agreements (SLA) können eingehalten werden Gemäß dem Anwenderwunsch: Das System steht immer und ohne Unterbrechung zur Verfügung und zwar Ende-zu-Ende. 5 Abgrenzung Hochverfügbarkeit und DesasterRecovery Ein Desaster Recovery beinhaltet immer den Einsatz eines alternativen Standorts Das System muss mit kleinst-möglichem Datenverlust, ggf. aber nicht sofort, wieder nutzbar gemacht werden. Eine Hochverfügbarkeitslösung deckt den Ausfall einzelner, abgesicherter Komponenten ab, ein Desaster-Recovery stellt den Dienst auch nach einem GAU und dem Ausfall vieler Komponenten wieder zur Verfügung. Hochverfügbarkeitslösungen sichern einen Service mit technischen Mitteln ab Desaster-Recovery-Lösungen sichern viele Services ggf. auch mit organisatorischen Mitteln ab Hochverfügbarkeitslösungen können (müssen aber nicht) auch als Desaster-Recovery-Lösung aufgebaut sein 6 Hochverfügbarkeitslösungen des SQL Servers Seit Version Automatischer Failover Lizenz (SQL 2014) Datenredundanz Mindest-Anzahl Instanzen Absicherung gegen Secondary Lesezugriff möglich Anzahl Systemdatenbanken (User/Job-Management) Datenstände synchron Einschränkungen Log Shipping 2000 Nein Standard Mirroring 2005 Ja/Nein Standard Ja 2 Ausfall X Datenbank(en) inkl. deren Storage Ja 3/2 Ausfall X Datenbank(en) inkl. deren Storage Ja Nein 2 (mehrfach und manuell) Nein Kein Schutz der gesamten Instanz Kein Schutz der Systemdatenbanken Clustering 2005 Ja Standard (max.2 Server) Nein 2 Ausfall 1 SQL Instanz Storage muss erhalten bleiben Nein 2 1 (mehrfach und (nur einmalig) manuell) Ja N/A Kein Schutz der Kein Schutz gegen gesamten Instanz Ausfall des Storage Kein Schutz der Systemdatenbanken Always-On 2012 Ja Enterprise Ja 2 Ausfall X Datenbank(en) inkl. deren Storage Ja 2 (mehrfach und manuell) Ja Kein Schutz der gesamten Instanz Kein Schutz der Systemdatenbanken 7 Architektur AlwaysOn Virtual Cluster Name:SQLAlwaysOn01 IP: 192.168.182.104 Client 192.168.182.021 AlwaysOn-Db-Connect Name:VSqlServer IP:192.168.182.110 Public 192.168.182.0/24 DomainController Name: Win12DomainController IP 192.168.182.101 Heartbeat 192.168.181.0/24 Primary DB Server Name: SqlServer01 IP: 192.168.182.102 Secondary DB Server Name: SqlServer02 IP: 192.168.182.103 8 Two-Phase Commit Client Public 192.168.182.0/24 Primary DB Server Secondary DB Server 3. Execute Tran 5. Execute Tran 4. Send Commit 9 Technische Voraussetzungen für AlwaysON SQL-Server zu einem Windows-Cluster verbunden (Shared Quorum Disk optional) Port 5022 in der Firewall geöffnet für die „Heartbeat“-Kommunikation des SQL-Dienste Der selbe SQL Server Service Account in allen Instanzen Alle beteiligten SQL Server Instanzen müssen mit der selben Collation installiert sein Datenbanken müssen im Full-Recovery-Mode laufen No AutoClose, No Read-Only, No System-Database, No Single-User FileShare für Backup/Restore beim Aufbau https://msdn.microsoft.com/en-us/library/ff878487.aspx 10 Demo Aufbau AlwaysOn für eine User-Datenbank 11 Wiederanlauf eines SSIS-Pakets Grundsätzlich besitzen beide/alle Instanzen lauffähige Kopien der SSIS-Pakete ABER: Nur eine der beteiligten Instanzen besitzt die Read/Write-Rechte Und: Wo im Ablauf muss nach einem Abbruch wieder gestartet werden? 1. Möglichkeit: Eigenes Tracking mit Status-Tabellen der Verarbeitungsschritte Woher weiß die zweite Seite, dass das Paket nicht noch mitten im Data-Flow-Task ist Menschliche Fehler möglich (Nachts, unerwarteter Failover, Status-Tabelle ggf. anpassen, Job auf der richtigen Seite starten…) 2. Möglichkeit: Checkpoint Datei auf gemeinsamem Share + Share ist für den Aufbau von AlwaysOn bereits vorhanden + Nur ein Job/Prozess bekommt den Lock auf die CheckPoint-Datei + Leicht erweiterbar, bei wachsender ETL-Strecke 12 Demo Wiederanlauf ETL-Paket mit Checkpoint-Datei 13 SSISDB SSIS Catalog Eingeführt mit SQL Server 2012 „quasi“ Systemdatenbank Enthält die SSIS-Pakete, Konfigurationen, Logs, Berechtigungen Stellt Views und Tabellen über die Inhalte abfragbar per SQL bereit https://msdn.microsoft.com/de-de/library/hh479588.aspx 14 Demo Create SSIS-Catalog, Enable AlwaysOn für die SSISDB 15 Master-Key Fehler?! 16 Verschlüsselungshierarchie 17 Demo Was passierte beim Anlegen des SSIS-Catalog? 18 DynamicManagementViews für AlwaysON 19 DynamicManagementViews für AlwaysON 20 Demo Failover-Erkennung und Wiederanlauf 21 Weiterführende Links Technische Hochverfügbarkeits-SQL-Server Lösungen: https://msdn.microsoft.com/de-de/library/ms190202.aspx SSIS-Catalog https://msdn.microsoft.com/de-de/library/hh479588.aspx AlwaysOn https://technet.microsoft.com/de-de/sqlserver/gg490638.aspx ORAYLIS http://http://www.oraylis.de/home http://blog.oraylis.de/author/sgrigat/ 22 Fragen? 23