Loading . . .

SQL Server 2016 – Backup to URL mit dem Ola Hallengren Skript

In meinem letzten Beitrag zum Thema Backup to Azure habe ich die Möglichkeiten SQL Server Backups in die Azure Cloud zu erstellen angefangen zu erläutern, hierzu möchte ich kurz einen Nachtrag bringen. Viele von euch kennen und nutzen die Backup Skripte von Ola Hallengren, auch diese bieten die Möglichkeiten eines “Backup to URL”. Hierbei gibt es auch etwas zu beachten, ich habe hier meine Tests damit ebenfalls dokumentiert.

Backup to URL mit Ola Hallengren

Wenn man sich un ganz unbedarft des Sache annimmt und – so wie ich – seine ersten Tests mit dem Azure Blob Storage und den Backup to URL macht, dann wird man leider schnell an einen Punkt kommen, wo man doch ein wenig recherchieren und nachdenken muss.  😉

Aber der Reihe nach, ich hatte einen Credential gemäß dem Powershell-Skript angelegt:

CREATE CREDENTIAL [https://backupdemostorage.blob.core.windows.net/backupdemocontainer] WITH IDENTITY='Shared Access Signature', SECRET='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

Danach konnte ich einwandfrei meine Backups in den Azure Blog Storage erstellen und diese dort auch auffinden.
Files im Azure Blob Storage

Wie man aus der Dokumentation bzw Beispielen von Ola Hallengrens Backup Skripten entnehmen kann, benötigen wir zur Ausführung des OH-Backups die URL und ein Credential.
Ok, beides habe ich (siehe oben)… also eingefügt und ausgeführt…

EXECUTE dbo.DatabaseBackup
@Databases = 'USER_DATABASES',
@URL = 'https://backupdemostorage.blob.core.windows.net/backupdemocontainer',
@Credential = 'https://backupdemostorage.blob.core.windows.net/backupdemocontainer',
@BackupType = 'FULL',
@Compress = 'Y',
@Verify = 'Y'

Sieht zwar lustig aus, ist aber anscheinend so, wenn ich den Output aus dem Powershell-Skript verwende => URL und Credential sind identisch. Die Ausführung des obigen Backups ergibt aber leider einen Fehler 🙁

Backup to URL - Ola Hallengren NOK

Anscheinend setzt Ola Hallengren die Werte anders in den Backup Befehl ein, so dass es hier zu einem Fehler kommt. Und in der Tat, nach einigem Suchen und Lesen, bin ich dem Problem näher gekommen. Der Backup Befehl des SQL Servers kennt eine Option “Credential”, welche durch das Skript gefüllt wird.

CREDENTIAL
Used only when creating a backup to the Windows Azure Blob storage service.

Die Erläuterungen hierzu sind aber auch nicht wirklich großzügig gefüllt… aber man findet in der der MSDN unter Best Practices zum Thema “Backup to URL” weitere Hinweise. So gibt es einen Unterschied in der Anlage der Credentials bzw der Rechte-Vergabe, die mit den “Shared Access Signatures” (siehe Powershell Output) wesentlich umfangreicher bzw detaillierter möglich sind. Also muss man sich vor Anlage bzw Einrichtung einer Backup-to-URL Sicherung Gedanken machen, wie man welche Datenbanken sichern möchte bzw wohin mit welchen Rechten bzw Credentials. Microsoft empfiehlt die Credentials für ein Backup-to-URL mit folgendem Statement anzulegen.

IF NOT EXISTS  
(SELECT * FROM sys.credentials   
WHERE credential_identity = 'mycredential')  
CREATE CREDENTIAL <credential name> WITH IDENTITY = 'mystorageaccount'  
,SECRET = '<storage access key> ;

Wenn man nun diese zusätzlichen Credentials angelegt hat und im Backup-Statement hinterlegt hat, dann funktioniert auch das Ola Hallengren Backup-Skript in Richtung Azure Storage Blob.
Backup to URL Ola Hallengren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Previous post SQL Server 2016 – Backup to Azure Cloud
SQL Server 2016 Master Data Services Next post PASS RG Hamburg – Treffen Juli 2016 – Master Data Services

SQL aus Hamburg

Das bin ich ;-)

Björn Peters - MVP - Data Platform

Ich habe das erste Mal mit MS SQL Datenbanken im Jahr 2000 zu tun gehabt und diese Datenbank-Systeme rund 7 Jahre vollumfänglich betreut. Von 2007 bis 2019 war ich als Datenbank-Administrator angestellt und betreute eine Vielzahl von unterschiedlichen SQL-Servern von mittelständischen Firmen und Großkonzernen aus unterschiedlichen Branchen.
Ich verfüge zwar über einige Zertifikate, beziehe meine Erkenntnisse und mein Wissen rund um den SQL Server rein aus dem Tagesgeschäft, dem Lesen/Verfolgen von zahlreichen Foren/Blogs.
Ich habe mich auch nicht wirklich auf ein Fachgebiet spezialisiert, lege meinen Schwerpunkt aber dann doch auf die Performance-Analyse.
Seit Ende 2016 bin ich Organisator des Azure Meetup Hamburg und vom April 2017 bis Juni 2018 Cloud- und Datacenter Management MVP und seit Juli 2018 Data-Platform MVP.