Archiv für den Monat Januar 2019

„Auto“ – Grants für Generatoren und Exceptions in FB 3

Da ich in den letzten Monaten diverse Projekte von Firebird 2 auf Firebird 3 portiert habe, mussten auch einige Anpassungen an den diversen Datenbanken selbst vorgenommen werden. z.B.: Grants für Generatoren und Exceptions. Siehe auch: https://mathiaspannier.wordpress.com/2016/08/25/umstellung-einer-datenbank-auf-firebird-3/
Allerdings habe ich festgestellt, dass die Benutzung von Exceptions/Generatoren in Firebird 3 auch ohne zusätzlichen Grant funktioniert wenn man ein Firebird 2 Backup auf einem Firebird 3 Server wiederherstellt. Bei der Erstellung der Datenbank über ein SQL Skript ist das nicht so. Weiterlesen

Firebird Backup aller Datenbanken in einem Verzeichnis

Bei meiner täglichen Arbeit mit Delphi/Firebird erstelle und nutze ich viele unterschiedliche Datenbanken. Immer wenn eine Datenbank in den produktiv Einsatz übernommen wurde (also auf den produktiv Datenbankserver verschoben wurde)
musste ich für die neue Datenbank eine Zeile in meinem Backup-Skript einfügen. Das Skript läuft dann via Windows Aufgabenplaner vor der Komplettsicherung des Servers. Leider kam es immer wieder vor das ich Datenbanken vergessen habe oder Datenbanken die eigentlich nicht mehr im Einsatz waren auch nicht aus diesem Skript entfernt habe. Nach ein wenig Recherche im Netz habe ich mir dann ein Skript erstellt welches nach allen FDB-Dateien in einem Verzeichnis sucht und diese nacheinander sichert. Wird eine neue Datenbank in das Verzeichnis verschoben so wird sie automatisch bei der nächsten Skriptausführung mit gesichert.

Hier das Skript:

rem @echo off

set QuellVerzeichnis=C:\Database\
set AusgabeVerzeichnis=F:\Backup\
set FirebirdBinVerzeichnis=C:\Program Files (x86)\Firebird\Firebird_3_0\
set Servername=localhost

rem Ausgabeordner erstellen, falls nicht vorhanden
IF NOT EXIST %AusgabeVerzeichnis% MD %AusgabeVerzeichnis%

FOR %%q in ("%QuellVerzeichnis%*.fdb") do (
  "%FirebirdBinVerzeichnis%gbak" -user SYSDBA -password masterkey -b -v  "%Servername%:%%q" "%AusgabeVerzeichnis%%%~nq.fbk"
  )