Deutschlandweite Azure Meetups – die Azure Offline Community

In den letzten Monaten haben sich deutschlandweit zahlreiche Azure Usergruppen (aka Azure Meetups) gebildet, um dem wachsenden Interesse an der Microsoft Cloud Azure gerecht zu werden. Diese lokalen Usergruppen bieten jedem Interessierten eine Anlaufstelle zu allgemeinen oder speziellen Bereichen des Azure Portfolios, hier findet jeder einen Wissenden und kann sich mit anderen “Infizierten” über dieses spannende Thema austauschen.

Meetups zu Microsoft Azure in Deutschland

Diese lokalen Usergruppen sind unabhängig von Microsoft und organisieren sich selbst, selbstverständlich gibt es eine gewisse Nähe zu Microsoft, welche aber nur rudimentär ist. Die Usergruppen nutzen in der Regel die Meetup-Plattform zur Organisation und Informationsweitergabe an die Interessenten, auch ist jeder Teilnehmer – sofern er denn unterwegs ist – in jedem Azure Meetup ein gern gesehener Gast. Abhängig von der Region und dem Einzugsgebiet sind die einzelnen Treffen größer und kleiner, aber alle Organistoren geben sich größte Mühe eine informative und interessante Veranstaltung bereitzustellen. Durch die Nutzung der Meetup-Plattform entsteht auch ein “neuer” Name, anstatt Usergroup-Treffen heißt es jetzt einfach nur noch Meetup => Azure Meetup.

Je nach “Alter” der Meetup Gruppe verfügen die einzelnen Organistoren über Sponsoren, bei den die Events stattfinden oder welche die Events mit Snacks, Getränken oder Sprechern unterstützen.
Falls jemand Interesse hat und an einem solchen Event teilzunehmen, meldet sich bitte über die Webseite Meetup.com an und sucht sich die gewünschte Veranstaltung heraus und “RVSP”ed dort dann, so hat das Orga-Team einen Überblick über die Teilnehmerzahl und wer alles teilnimmt. Einen Nachteil haben solche Meetups für (uns) die Organisatoren, je nach Ballungszentrum bzw Einzugsgebiet und anderen Faktoren schwankt die sogenannte “No-Show-Rate” zwischen 20 und 60 Prozent… heißt es melden sich weit mehr Teilnehmer an, als tatsächlich erscheinen, was unter Umständen zu Problemen mit dem Sponsor oder dem Caterer führen kann.

StockSnap - Nerds lieben ihre Technik und Bier ;-)

Im Vergleich zu Online-Community wie zum Beispiel die “Azure Community Deutschland“, welche sich eben online zu den diversen Themen rund um die Microsoft Cloud austauschen. Ein Teil dieser Online-Community ist auch Teil der Offline-Community, so dass sich hier gewisse Schnittmengen ergeben und man sich gegenseitig kennt und unterstützt.

Microsoft hat uns in der letzten Woche zu einem “Come-together” aller Azure Meetup Organisatoren eingeladen und die Möglichkeit gegeben, dass wir uns mal gegenseitig kennenlernen bzw uns über unsere Erfahrungen mit der Meetup-Plattform und/oder der Organistation solcher Veranstaltungen auszutauschen. So dass wir in Zukunft uns untereinander besser unterstützen können, sowie ein entsprechendes Netzwerk in Deutschland aufbauen können. Unter den Organisatoren gibt es auch eine Vielzahl von Experten, Microsoft MVPs, Cloud-Dienstleister oder auch nur einfach “nur” Community-Begeisterte, man kann also behaupten, dass diese Azure Offline Community ein gewisses “Rückgrat” hat und daher ein qualifiziertes Anlaufpunkt ist für Neulinge in Sachen Cloud.

Wenn Sie also Interesse an der Microsoft Cloud haben und sich in Zukunft über die vielfältigen Möglichkeiten, Techniken und spannenden Erfahrungen beschäftigen möchten, so kommen Sie doch einfach mal zu einem unserer Meetups. Wir heißen Sie dort herzlich willkommen und freuen uns mit Ihnen gemeinsam ein Stück des Weges gehen zu können/dürfen.

das neue Meetup Logo

Björn arbeitet in Hamburg als Datenbank-Administrator und Head of Competence für MS SQL und mySQL. Er nimmt regelmäßig an den PASS Regionalgruppen Treffen in Hamburg, den Veranstaltungen der PASS wie SQLSaturday und SQLGrillen teil und er organisiert in Hamburg das Azure Meetup. Er interessiert sich neben den Themen rund um den SQL Server, Powershell und Azure für Science-Fiction, Snowboarden, Backen 😉 und Radfahren.

Microsoft Cloud Deutschland – Rechtliche Aspekte und Datenschutz

Im Rahmen unseres monatlichen Azure Meetups in Hamburg hatten wir dieses Mal Besuch aus Köln, Raphael Köllner kam extra für unser Meetup um über die rechtliche Aspekte und den Datenschutz in der neuen Microsoft Cloud Deutschland zu sprechen. Raphael ist ein Exot unter uns “Insidern”… er kennt sich nicht nur in der IT aus, er ist Windows Insider MVP und Office Server und Services MVP, sondern er ist auch noch Rechtswissenschaftler für IT- und IP-Recht und Wissenschaftlicher Mitarbeiter in einer Rechtsanwaltskanzlei. Somit kann er uns, der Azure-Community, Einblicke sowie wichtige Inhalte der einzelnen Vertragsinhalte optimal näherbringen.

Trumps Einfluss auf die Microsoft Cloud Deutschland

Die Executive Orders die Trump in den letzten Tagen und Wochen erlassen hat, betreffen uns nicht direkt, aber leider die vertraglichen Inhalte mit Microsoft und somit uns indirekt. Hier unter dem Namen “Privacy Shield Framework” wurde unter anderem der Paragraf/die Sektion 14 angepasst, hier geht es mehr oder weniger um den Datenschutz amerikanischer Staatsbürger im Vergleich zu Nicht-Amerikaner, Herr Trump hebt den Schutz der persönlichen Daten ausländischer Einreisewilliger auf.

Social media passwords are to be called upon entry

14-2985: Microsoft Corp. v. United States – Der Supreme Court hat die Urteile aus dem Juli 2016 bestätigt, Microsoft muss keine Kundendaten, die in einem Rechenzentrum einer Tochterfirma in Dublin gespeichert sind an die US Behörden weitergeben, der Stored Communication Act ist nicht anwendbar.
Das lässt zumindest in soweit hoffen, dass auch die europäischen Datenschutz-Rechte unangetastet bleiben.

Datenschutz in der Microsoft Cloud Deutschland

Durch die europäischen Datenschutzgesetze und die weiterreichenden deutschen Datenschutzbestimmungen in Verbindung mit den technischen Gegebenheiten hat ausser dem Kunden selber kein anderer Zugang zu den sensiblen Kundendaten, dies wird durch die spezifische deutsche Zertifizierungen und durch das Lockbox-Verfahren gesichert. Weitere Vorteile für die Nutzung der deutschen Microsoft Cloud liegen in der lokalen Datenverarbeitung und den besseren Latenzen und somit Geschwindigkeitsvorteilen.

Einzig bei den Verträgen sollte man genauer ins Detail schauen, da hier unter Umständen einige Haken versteckt sind, was aber nur für Reseller/Hoster/Softwareanbieter o.ä. relevant ist, da diese ihre eigenen Verträge on-top setzen. Wichtig anzumerken ist hier, dass es sich um einen Dreiecksvertrag handelt… man schliesst eigentlich einen Vertrag mit dem deutschen Treuhänder (T-Systems) ab, wenn man aber alle relevanten Vertragsunterlagen durchliest, stellt man fest dass neben T-System und Microsoft z.B. auch die Deutsche Telekom AG und weitere Töchtergesellschaften mit im Boot ist.

Microsoft Cloud Datenschutz 21.02.2017 - Unterauftragsverhältnis

 

Technisch gesehen ist die Microsoft Cloud Deutschland nahezu identisch mit anderen Azure Clouds also der Public Cloud von Microsoft, aber eben doch anders… denn hier werden nicht alle Servervarianten (IaaS) angeboten, einige Software-Produkte werden erst verspätet angeboten/implementiert und auch die Preise liegen im Vergleich zur Public Cloud etwas höher. Man muss also tatsächlich den Einzelfall überprüfen, für welches Szenario der Umstieg bzw Einstieg in die Microsoft Cloud Deutschland Sinn macht, ob man wirklich alle diese (in der Hauptsache) Datenschutz-relevanten Punkte braucht und wie man diese in seine Lösung einbinden kann.

Ich möchte mich nochmal bei Raphael Köllner recht herzlich bedanken für seinen fundierten und detailreichen Vortrag danken. Die Slides seines Vortrages findet ihr hier auf meinem Blog => Slides aus den Azure Meetups

Wenn ihr Interesse an weiteren Themen rund um Azure und die Microsoft Cloud Deutschland habt, dann kommt doch einfach mal zu einem Azure Meetup vorbei… für alle Hamburger bzw Nordlichter empfehle ich das Azure Meetup Hamburg ansonsten sucht euch bitte eine passendes Meetup je nach Wohnort hier raus, denn die Azure Meetups der Community gibt es deutschlandweit.

Björn arbeitet in Hamburg als Datenbank-Administrator und Head of Competence für MS SQL und mySQL. Er nimmt regelmäßig an den PASS Regionalgruppen Treffen in Hamburg, den Veranstaltungen der PASS wie SQLSaturday und SQLGrillen teil und er organisiert in Hamburg das Azure Meetup. Er interessiert sich neben den Themen rund um den SQL Server, Powershell und Azure für Science-Fiction, Snowboarden, Backen 😉 und Radfahren.

Azure Meetup – Erfahrungsbericht und Einblicke bei Microsoft

In der letzten Woche hatte ich die Ehre/das Vergnügen mein erstes Azure Meetup in Hamburg bei Microsoft zu veranstalten. Wie bereits in einem meiner letzten Beiträge verkündet, gibt es nun auch in Hamburg ein Azure Meetup. Innerhalb von rund vier Wochen hatten sich etwa 90 Mitglieder angesammelt und ihr Interesse an dem Thema Azure bekundet und mehr als 60 (am Nachmittag der Veranstaltung) wollten erscheinen. Am Montag Nachmittag musste ich sogar die Teilnehmerzahl auf 65 begrenzen, sonst hätte man mir den Raum “gesprengt”. Laut der Webseite waren es dann 57 Teilnehmer, vor Ort konnte ich etwa 50 Interessierte begrüßen.

Begrüssung Azure Meetup Hamburg - November 2016

Aufgrund von Terminschwierigkeiten mussten wir kurzfristig die Reihenfolge tauschen, da Sia am nächsten Morgen einen Kundentermin hatte und uns frühzeitig verlassen musste. Aber wir sind da ja flexibel und ich freute mich überhaupt, dass er trotz der widrigen Umstände und Zeitknappheit erschienen ist und seinen Erfahrungsbericht zum Umzug einer On-Premise Application nach Azure gehalten hat. VIELEN DANK dafür nochmal an Sia für diesen Einsatz!

Erfahrungsbericht von Sia Ghassemi

Sia erzählte uns viele interessante Punkte, welche vor Beginn der eigentlichen Migration nach Azure zu beachten waren, welche Hürden in seinem Projekt überwunden werden mussten und wie sie nach einem recht beschwerlichen Weg doch noch (mehr oder weniger) ans Ziel gekommen sind. Dass einige Teile der Applikation umgeschrieben werden mussten, andere komplett umgeschrieben wurden, damit sie in Azure performanter und stabiler laufen als zuvor. Sein Vortrag war eine perfekte Mischung aus Einblicken, Ideen, Beispielen und wahren “Begebenheiten”, seinem Vortrag zu lauschen war alles andere als langweilig. Dass letztendlich die Applikation nicht mehr in Azure läuft, lag nicht an Azure oder an Sia, sondern an anderen Randbedingungen welche leider nicht so ohne weiteres beseitigt werden konnten.

Sia Ghassemi mit einem Erfahrungsbericht zur Migration nach Azure

Sozusagen als Begrüßungsgeschenk haben wir von Microsoft Pizza und Bier erhalten, welche reichlich und gerne verspeist wurde. Ich denke alle Teilnehmer konnten auch unserem zweiten Teil des Azure Meetups gestärkt und gesättigt zuhören. Im zweiten Teil hielten Sebastian Klenk und Malte Lantin (beide Microsoft Technical Evangelisten) einen zwei geteilten Vortrag zu den neuen Azure Functions und zur Microsoft internen Nutzung von Azure.

Einblick und Überblick über die Microsoft interne Nutzung von Azure

Sebastian erläuterte anhand zahlreicher Folien, Zahlen und Beispielen sehr gut die vielfältige Nutzung der Azure Cloud bei Microsoft selber. Seinen Vortrag leitete er ein, in dem er erst einmal einen groben Überblick über die Möglichkeiten von Azure zeigte.

Azure Meetup Hamburg - MSFT Intro - Azure Services

Hier kommen ein paar Zahlen aus dem Vortrag 😉

Bei Microsoft nutzen weltweit etwa 120.000 Mitarbeiter die internen und externen Services von Azure => 29.000 Devices werden in Intunes gemonitored, ~400 Apps werden im Unternehmensportal angeboten, 150.000 Devices im Exchange Active Sync. Im Monitoring laufen täglich etwa 7 Milliarden Security Event-Meldungen auf und Microsoft verwaltet im Azure System Center etwa 330.000 Geräte, ob dies ein Microsoft Surface ist, ein Microsoft Lumia Handy oder ein “normaler” Arbeitsplatz oder sogar ein Fremdgerät (BYOD) spielt keine Rolle.

Microsoft intern nutzt in Azure ~19.000 virtuelle Maschinen zum Beispiel für Entwicklung und Tests, aber auch für Monitoring-Zwecke, desweiteren rund 5.000 SQL Instanzen als Datenquellen oder Datensenken.

die neuen Azure Functions

Malte gewährte noch einen Überblick in die brandneuen Azure Functions und zeigte uns eine kurze aber eindrucksvolle Demo, wie einfach und schnell man diese Functions erstellen und aktivieren kann. In seinen Erläuterungen ging auch darauf ein, dass die Zukunft eben Serverless sein wird, zumindest aus Sicht von Microsoft und der OnPrem-WebService aussterben wird. Denn mittels der Azure Functions lassen sich Funktionsaufrufe sehr schnell und unkompliziert deployen und das vor allem kostengünstig.

Bei den Azure Functions werden Ereignis-getriggerte Computefunktionen skalierend ausgeführt und man zahlt nur die tatsächliche Nutzung der Functions => also nur pro Aufruf/Ereignis-Trigger. So lassen sich in Zukunft eine Vielzahl von Funktionen kurzfristig und kostengünstig umsetzen, da man sich nicht erst mit einer geeigneten Infrastruktur beschäftigen muss.

Unser nächstes Azure Meetup : 13. Dezember ebenfalls bei Microsoft Hamburg

Alle IT Begeisterten und Azure-Freunde sind recht herzlich eingeladen, Simon Schwingel wird eine sehr interessanten Vortrag präsentieren, wie man die Migration einer SQL Server Landschaft nach Azure plant und durchführt bzw durchführen könnte.

Björn arbeitet in Hamburg als Datenbank-Administrator und Head of Competence für MS SQL und mySQL. Er nimmt regelmäßig an den PASS Regionalgruppen Treffen in Hamburg, den Veranstaltungen der PASS wie SQLSaturday und SQLGrillen teil und er organisiert in Hamburg das Azure Meetup. Er interessiert sich neben den Themen rund um den SQL Server, Powershell und Azure für Science-Fiction, Snowboarden, Backen 😉 und Radfahren.

Azure Meetup Hamburg – neuen Usergroup rund um Microsoft Azure

Azure Meetup Hamburg – neue Usergruppe in Hamburg

Auf dem SQLSaturday #555 in München wurde ich von Jan Schenk angesprochen, ob es in Hamburg bereits eine Azure Meetup Hamburg Usergroup gäbe. Microsoft (also das Community Audience Team) wäre sehr daran interessiert, in Hamburg eine solches Meetup zu etablieren. Da ich mich kurz vor dem SQLSaturday in genauso einer Gruppe angemeldet hatte (Microsoft Cloud Community Nord aka die Wolkenstürmer), konnte ich Jan die Frage mit “Ja” beantworten. Ich solle ihm mal den Link zukommen lassen…

Im Laufe der kommenden Tage hatte Jan dann wohl interne (und auch externe) Kommunikation zu dem Thema und sich die Wolkenstürmer Meetup Gruppe angeschaut. Auf jeden Fall bestand der ausdrückliche Wunsch eine neue Gruppe in Hamburg zu etablieren, also gründete ich das “Azure Meetup Hamburg”.

Mit dieser Gruppe bin ich nicht alleine, es gibt in zahlreichen deutschen Städten ebenfalls Azure Meetup Communities

Hier kann sich jeder seine Meetup Gruppe raussuchen, um sich dort mit anderen zu allem rund um Azure austauschen.

Azure Meetup Hamburg - erstes Treffen
Unser erstes Treffen findet nun am 22. Oktober um 18:00 bei Microsoft Hamburg (Gasstraße 6) statt.
Neben der ersten Kennenlernen und Austauschen, schließlich möchte ich euch alle kennenlernen und wissen was ihr so macht bzw was ihr von der Azure Meetup Hamburg Gruppe erwartet. Relevante Inhalte wird es natürlich auch geben, hierzu habe ich bereits einige Mails bzw Kontakte gehabt. Für unser erstes Treffen habe ich Malte und Sebastian gewinnen können, dem einen oder anderen sind die beiden aus der Wolkenstürmer Gruppe bekannt.

Inhalt des Vortrages wird sein

Genereller Überblick über die Azure-Plattform
     –  Was bietet Azure für Entwickler?
     –  Was für Infrastruktur-Experten?
     –  Wie setzt Microsoft intern Azure ein?
             greifbare Beispiele / Showcases
             MFA am Arbeitsplatz
             Self-Service für Mitarbeiter
             u.v.m. 

Da Jan so nett war und uns für diesen Abend bereits Pizza zu bestellen, werde ich wohl an diesem Abend nur ein Thema anbieten, da auch das Kennenlernen und Netzwerken nicht zu kurz kommen soll.

Mit Stand heute (Montag, 24. Oktober) sind wir bereits 35 Gruppenmitglieder, von denen 18 an unserem ersten Azure Meetup Hamburg teilnehmen wollen. Ich bin sehr überrascht und erfreut über diese Resonance!

Wenn ihr noch jemanden kennt, der sich für die Azure Cloud von Microsoft und all ihre umfangreichen Möglichkeiten interessiert, dann verweist ihn doch bitte auf uns und unsere Gruppe (oder auch die anderen regionalen Gruppen). Für Themenvorschläge, Optimierungsvorschläge oder Sprecher bin ich selbstverständlich immer offen und freue mich über jede Kommunikation.

Einen Link zu unserer Gruppe findet ihr rechts in der Sidebar bzw nutzt diesen hier 😉

http://www.meetup.com/de-DE/Azure-Meetup-Hamburg/

Björn arbeitet in Hamburg als Datenbank-Administrator und Head of Competence für MS SQL und mySQL. Er nimmt regelmäßig an den PASS Regionalgruppen Treffen in Hamburg, den Veranstaltungen der PASS wie SQLSaturday und SQLGrillen teil und er organisiert in Hamburg das Azure Meetup. Er interessiert sich neben den Themen rund um den SQL Server, Powershell und Azure für Science-Fiction, Snowboarden, Backen 😉 und Radfahren.

SQL Server 2016 – Backup to Azure Cloud

In Vorbereitung auf kommende Aktivitäten möchte ich nun eine Reihe von Blogbeiträgen zum Thema SQL Server 2016 und Azure schreiben. Welche Möglichkeiten bietet der neue SQL Server 2016 in Verbindung mit der Azure Cloud und wie realisiert man diese. Mir persönlich nützt diese Art von Ausprobieren, Dokumentieren und Schreiben sehr, mal abgesehen von der Anhäufung neuen Wissens und vielleicht kann ich auf diese Weise dem einen oder anderen auch noch behilflich sein.

In meinem ersten Beitrag geht es um ein relativ einfaches aber sehr wichtiges Thema – Backups mit dem SQL Server 2016 in Richtung Azure Cloud. Es soll aber nicht um das Thema Backup allgemein gehen, also warum Backups so wichtig sind und wie man diese Backups erstellt. Viel mehr möchte ich die verschiedenen Wege eines SQL Server Backup in die Azure Cloud zu machen erläutern und dies ggf unter zu Hilfenahme von Powershell.

Einen wichtigen Einwand möchte ich nur kurz grundsätzlich machen, da man manchmal vielleicht beim Erstellen einer Solution nicht unbedingt daran denkt…  Also funktionierende Backups sind absolut notwendig und sehr wichtig, es gibt mehrere Möglichkeiten diese Backups sicher zu erstellen und im Notfall auch schnell “griffbereit” zu haben. Normalerweise ist die schnellste und einfachste Lösung ein lokales “Backup-to-Disc”, was ist aber wenn diese Backup-Platte einmal kaputt geht? Optimaler (bzw Ausfallsicherer) ist das “Backup-to-Share” oder besser bekannt als Backup-to-NetworkDevice (hierbei sollte das Network-Share natürlich als RAID konfiguriert sein. Aber nicht jede kleine Firma ist in der Lage einen entsprechend großen Fileserver zu unterhalten, damit hier die letzten ~5 Tage des SQL-Servers (zusätzlich?!) abgelegt werden können. Was liegt also näher diese Backups auf einen anderen (“günstigen”) redundanten Speicher abzulegen, genau um diese Möglichkeiten geht es in diesem Blogbeitrag.

Möglichkeiten des SQL Servers in Verbindung mit Azure

Seit dem SQL Server 2012 bietet Microsoft mit “SQL Server Backup to URL” die Möglichkeit, wie gewohnt seine verschiedenen Backups zu erstellen. Allerdings ist hierbei nicht eine lokale Festplatte oder ein Fileserver im eigenen Netz das Ziel sondern eine URL aus der Azure Cloud. Dieses Feature wurde im SQL Server 2016 weiter optimiert. Nun stehen weitere Optionen (BlockBlobs, Shared Access Signatures und Striping) bereit, um schneller und sicherer Backups in die Cloud zu erstellen.

Mit dem SQL Server 2014 führte man dann “SQL Server Managed Backup to Microsoft Azure” ein. Dieses neue Feature ermöglichte dem DB-Admin eine vereinfachte und schnellere Arbeit, denn der SQL Server entscheidet selber wann er ein Backup erstellt. Der DBA muss sich nicht erst Gedanken über die Backup Strategie und die Backup-Skripte machen. Natürlich ermöglichen die Optionen auch einen Eingriff durch den DBA, einfacher geht es aber mit den Bordmitteln des SQL Servers. Für Azure SQL Server wird dieses Feature zur Nutzung empfohlen.

Neu hinzugekommen im SQL Server 2016 ist das Feature “File-Snapshot Backups for Database Files in Azure“. Diese Feature ermöglicht dem SQL Server 2016, welcher in Azure läuft ein sehr, sehr schnelles Backup der Datenfiles zu erstellen und somit auch einen schnellen Restore.

SQL Server Backup und Restore mit Azure Blob Storage

Backup to Azure Blob Storage

Was benötigen wir denn alles für die Einrichtung und Anbindung unseres SQL Servers an einen Azure Blob-Speicher?

Da Powershell seit den SQL Server 2012 und 2014 immer mehr an Bedeutung gewinnt, möchte ich auch hier eine kleine Anleitung dazu beisteuern. Heißt es muss erst einmal das Azure-Plugin für Powershell installiert werden. Eine Anleitung und einen Download-Link findet ihr hier => https://azure.microsoft.com/de-de/documentation/articles/powershell-install-configure/
Außerdem benötigt man natürlich einen Account in der Azure-Cloud (170 Euro Test-Zugang), zum Beispiel im Rahmen der Visual Studio Lizenzierung oder als MPN oder BizTalk-Kunde.

Erstellen einer Zugriffs Policy und einer Shared Access Signature

#
# This script uses the Azure Resource model and creates a new ARM storage account.
# Modify this script to use an existing ARM or classic storage account
# using the instructions in comments within this script
#
# Define global variables for the script
$prefixName = '' # used as the prefix for the name for various objects
$subscriptionName='' # the name of subscription name you will use
$locationName = '<a>' # the data center region you will use
$storageAccountName= $prefixName + 'storage' # the storage account name you will create or use
$containerName= $prefixName + 'container' # the storage container name to which you will attach the SAS policy with its SAS token
$policyName = $prefixName + 'policy' # the name of the SAS policy
 
#
# Using Azure Resource Manager deployment model
# Comment out this entire section and use the classic storage account name to use an existing classic storage account
#
 
# Set a variable for the name of the resource group you will create or use
$resourceGroupName=$prefixName + 'rg'
 
# adds an authenticated Azure account for use in the session
Login-AzureRmAccount
 
# set the tenant, subscription and environment for use in the rest of
Set-AzureRmContext -SubscriptionName $subscriptionName
 
# create a new resource group - comment out this line to use an existing resource group
New-AzureRmResourceGroup -Name $resourceGroupName -Location $locationName
 
# Create a new ARM storage account - comment out this line to use an existing ARM storage account
New-AzureRmStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type Standard_RAGRS -Location $locationName
 
# Get the access keys for the ARM storage account
$accountKeys = Get-AzureRmStorageAccountKey -ResourceGroupName $resourceGroupName -Name $storageAccountName
 
# Create a new storage account context using an ARM storage account
$storageContext = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $accountKeys[0].Value
 
#
# Using the Classic deployment model
# Use the following four lines to use an existing classic storage account
#
#Classic storage account name
#Add-AzureAccount
#Select-AzureSubscription -SubscriptionName $subscriptionName #provide an existing classic storage account
#$accountKeys = Get-AzureStorageKey -StorageAccountName $storageAccountName
#$storageContext = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $accountKeys.Primary
 
# The remainder of this script works with either the ARM or classic sections of code above
 
# Creates a new container in blob storage
$container = New-AzureStorageContainer -Context $storageContext -Name $containerName
$cbc = $container.CloudBlobContainer
 
# Sets up a Stored Access Policy and a Shared Access Signature for the new container
$permissions = $cbc.GetPermissions();
$policyName = $policyName
$policy = new-object 'Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPolicy'
$policy.SharedAccessStartTime = $(Get-Date).ToUniversalTime().AddMinutes(-5)
$policy.SharedAccessExpiryTime = $(Get-Date).ToUniversalTime().AddYears(10)
$policy.Permissions = "Read,Write,List,Delete"
$permissions.SharedAccessPolicies.Add($policyName, $policy)
$cbc.SetPermissions($permissions);
 
# Gets the Shared Access Signature for the policy
$policy = new-object 'Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPolicy'
$sas = $cbc.GetSharedAccessSignature($policy, $policyName)
Write-Host 'Shared Access Signature= '$($sas.Substring(1))''
 
# Outputs the Transact SQL to the clipboard and to the screen to create the credential using the Shared Access Signature
Write-Host 'Credential T-SQL'
$tSql = "CREATE CREDENTIAL [{0}] WITH IDENTITY='Shared Access Signature', SECRET='{1}'" -f $cbc.Uri,$sas.Substring(1)
$tSql | clip
Write-Host $tSql</a>

Quelle: https://msdn.microsoft.com/en-us/library/dn466438.aspx

Um dieses Skript nutzen zu können, brauchen wir erst einmal die folgenden Angaben, um sie ins Skript einfügen zu können.

 

Get-AzureSubscription | Format-Table

Nordeuropa ist die optimale Location für Deutschland, ansonsten

Aber um die Angabe Nordeuropa machen zu können, müssen wir uns erst einmal in unseren Azure-Account einloggen und dann eine Liste der verfügbaren Location ausgeben lassen.

Login-AzureRmAccount
Get-AzureRmLocation | Format-Table Location, DisplayName
 
Location       DisplayName     
--------       -----------     
[...]
southcentralus South Central US
northeurope    North Europe    
westeurope     West Europe     
japanwest      Japan West      
[...]

Diese Werte in das Skript eingebaut und ausgeführt, sollte zu folgender Meldung führen:

Shared Access Signature=  sv=2015-04-05&amp;sr=c&amp;si=backupdemopolicy&amp;sig=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
Credential T-SQL
CREATE CREDENTIAL [https://backupdemostorage.blob.core.windows.net/backupdemocontainer] WITH IDENTITY='Shared Access Signature', SECRET='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

Dieses TSQL Statement auf dem zusichernden Servern einfach ausführen, mittels

SELECT * FROM sys.credentials

kann man den Erfolg überprüfen, falls man der Meldung im SQL Management Studio nicht traut.

Jetzt sind wir eigentlich so weit, dass wir direkt ein Backup in unseren erstellten Azure Storage erstellen können. Hierzu einfach ein Backup-to-URL ausführen (natürlich die Werte entsprechend ersetzen) :

BACKUP DATABASE AdventureWorks2014 TO URL = 'https://.blob.core.windows.net//AdventureWorks2014_onprem.bak'

Bei meinen Tests war ich ganz angetan von der Geschwindigkeit mit der die Backups dort abgelegt werden. Natürlich ist die Geschwindigkeit zum Beispiel abhängig von der eigenen Netzwerk-Infrastruktur bzw der Anbindung ans Internet. ( bei mir sind es 100MB down/ 50MB up )
Ergebnis: ein ~43MB TransactionLog-Backup brauchte 12,7 Sekunden

BACKUP LOG successfully processed 13569 pages in 12.696 seconds (8.349 MB/sec).

Zum Vergleich habe ich das gleiche TransactionLog-Backup nochmal auf die lokale Platte erstellt:

BACKUP LOG successfully processed 13569 pages in 1.746 seconds (60.652 MB/sec).

Was natürlich wesentlich schneller ist, aber eben auch einen gewissen Unsicherheitsfaktor beinhaltet. In diesem Beitrag sollte es aber erst einmal nur um einen ersten Einblick zum Thema SQL Server Backup und Azure Cloud gehen. Wie man nun diese Möglichkeiten und ihre Vor-und Nachteile mit einander verbindet, dass muss jeder für sich, sein Unternehmen und seine Applikationen selber definieren.

Nachtrag:

In dem Skript von Microsoft zur Erstellung eines BlobStorages hatte sich ein Fehler eingeschlichen…
In Zeile 38 steht aktuell:

$storageContext = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $accountKeys.[0].Value

es muss aber

$storageContext = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $accountKeys[0].Value

heißen.

Anhand der “vorgefertigten” und korrigierten 😉  Skripte (Danke Microsoft) habe ich für das Aufsetzen dieses Azure Storage Blobs und ein erstes SQL Server Backup-to-URL kaum mehr als 20 Minuten gebraucht.

So und nun viel Spaß beim Ausprobieren und selber Testen. In meinem nächsten Blog gehe ich auf eine der anderen Backup-Möglichkeiten mit dem SQL Server 2016 und Azure ein.

Björn arbeitet in Hamburg als Datenbank-Administrator und Head of Competence für MS SQL und mySQL. Er nimmt regelmäßig an den PASS Regionalgruppen Treffen in Hamburg, den Veranstaltungen der PASS wie SQLSaturday und SQLGrillen teil und er organisiert in Hamburg das Azure Meetup. Er interessiert sich neben den Themen rund um den SQL Server, Powershell und Azure für Science-Fiction, Snowboarden, Backen 😉 und Radfahren.