Damit SSIS in SQL Server HADR Availability Groups Systemen optimal verwendet werden kann, ist auch die SSISDB hoch verfügbar zu implementieren. So ist es möglich, dass die SSIS Pakete auch im Failover weiterhin funktionieren.

Dies ist nicht einfach so “out of the box” möglich. Allerdings gibt es einen Weg dies zu tun. Der Ansatz bedingt jedoch folgendes, das unbedingt zu beachten ist.

  • das Security handling ist einzuhalten
  • beim Patchen von SQL Servern die in SSIS konfiguriert sind und deren SSISDB in HADR AG aktiv sind ist Vorsicht geboten!

 

Das Vorgehen:

  1. SSIS auf jedem Replikat SQL Server (primär + sekundär) aktivieren und konfigurieren
    image
  2. SSISDB muss “trustworthy” sein [alter database ssisdb set trustworthy on]
  3. SSISDB, nachdem die Instanz für SSIS konfiguriert ist, auf allen sekundären Replikat Instanzen sichern und dann löschen
  4. SSISDB auf dem primären Replikat forciert encrypten
    [ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = 'TVD_SSISDB!!']
  5. SSISDB in eine bestehende oder neue AG einbauen

Damit ist die SSISDB bereit und in der Availabality Group aktiv.
image

 

Funktion beim Failover:
Damit nun die SSISDB nach einem Failover auf einen Replikat Server durch SQL Server verwendet werden kann, muss die DB neu verschlüsselt werden. Dies geschieht mit demselben Verfahren wie oben beschrieben. Damit dies nach einem Failover automatisch geschieht, ist auf allen SQL Servern folgendes einzubauen:

  1. Nach einer kurzen Wartezeit (ca. 20 Sekunden), auf dem neuen primären Server, nach dem Failover; überprüfen, ob die SSISDB auf dem primären Replikat Server aktiv ist >> dies gewährt, dass dieser Ablauf auf jedem Replikat Server (auch auf sekundären) ohne Fehler läuft
  2. Ist die SSISDB auf dem primären Replikat Server aktiv, weiter machen, sonst nichts tun
  3. Weitermachen heisst: Encryption forcieren (siehe oben) und sa als owner der SSISDB setzen
  4. evt. einen Alarm per E-Mail an den/die DBA’s senden

Damit dies alles automatisch funktioniert wird ein SQL Server Alarm definiert, der auf den SQL Server Alarm 19406 reagiert. Dieser Alarm löst dann einen Job aus, in dem oben erwähnte Funktion beim Failover durchgeführt wird. Mittels SQL Server Notification und Operators können beim Alarm auch E-Mails versendet werden.
image image 

 

Patchen des SQL Server mit SSISDB in HADR AG:
Beim Patchen von SQL Servern werden, falls konfiguriert, auch die SSIS Komponenten betroffen sein. Da auf den sekundären Replikat Servern die SSISDB nicht beschrieben werden kann, darf das Patching nicht direkt druchgeführt werden. Um diese Umgebungen patchen zu können, muss manuell vorgegangen werden. Manuelles patchen ist generell bei SQL Servern zu empfehlen!

Der Patchablauf:

  1. SSIS Service auf allen sekundären Nodes stoppen
  2. SSISDB aus der Availability Group entfernen
  3. SSISDB auf den sekundären Replikat Servern verfügbar machen [restore database SSISDB with recovery]
  4. Patchen aller Nodes
  5. löschen der SSISDB auf den sekundären Replikat Servern
  6. erneutes Aufnehmen, der nun gepatchten SISDB, in die AG (wie im initial beschrieben Vorgehen)
  7. SSIS Service auf allen sekundären Nodes starten