<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Patrick Heyde</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/patrick_heyde/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/patrick_heyde/feed.xml</link>
    <description>Living in Azure, Coming from SharePoint Support &amp;amp; SQL BI</description>
    <lastBuildDate>Tue, 16 Apr 2019 06:14:10 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Azure Diagnostic in Microsoft Cloud Deutschland</title>
      <link>https://docs.microsoft.com/archive/blogs/patrick_heyde/azure-diagnostic-in-microsoft-cloud-deutschland</link>
      <pubDate>Fri, 24 Nov 2017 11:51:35 GMT</pubDate>
      <dc:creator><![CDATA[PatrickHeyde]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/patrick_heyde/?p=2475</guid>
      <description><![CDATA[Hallo @all,

heute haben wir etwas im Projekt gelernt  und ein Danke geht an den Azure...]]></description>
      <content:encoded><![CDATA[Hallo @all,

heute haben wir etwas im Projekt gelernt  und ein Danke geht an den Azure Support.

Ich fasse mich kurz:

Wenn man in MCD (Microsoft Cloud Deutschland) die Azure Diagnostic für VMs verwendet, dann muss in der Azure VM das System-Konto auf Englisch gestellt sein. Ansonsten werden keine Diagnostic Daten von der VM ans Azure Portal gesendet und im Azure Portal angezeigt.

Wir haben für uns das Monitoring so aufgesetzt. quasi for free ;-)

D.h. man kann die User-Sprache auf Deutsch belassen aber das System-Konto spricht Englisch.

Warum ist das einen Blogpost wert? In meinem Fall haben wir eine Anforderung bei der nur Deutsche Betriebssysteme in der Architektur erlaubt waren und wir diese nicht in Azure bereitstellen. Was haben wir also gemacht? Wir haben das System mit einem Language Pack für Deutsch ausgestattet. Damit hat man in Deutschland auch Deutsche Sprache verfügbar. :-)

Hat das System-Konto eine andere Sprache als Englisch, dann wird im Azure Portal keine Diagnostic-Einstellung mit Werten gefüllt.

Und so sieht die richtige Einstellung aus:

<a href="https://msdnshared.blob.core.windows.net/media/2017/11/regional-setting-azure-diagnostic-in-mcd.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2017/11/regional-setting-azure-diagnostic-in-mcd-282x300.jpg" alt="" width="282" height="300" class="alignnone size-medium wp-image-2476" /></a>

Weitere Details zu den Azure Diagnostic findet man <a href="https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/azure-diagnostics-troubleshooting#known-issues-and-mitigations">hier</a>.

Liebe Grüße

Patrick

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Ich plane den nächsten Azure ITPRO Train The Trainer Workshop v2– Black Magic in - Hamburg Bist du dabei?</title>
      <link>https://docs.microsoft.com/archive/blogs/patrick_heyde/ich-plane-den-nachsten-azure-itpro-train-the-trainer-workshop-v2-black-magic-in-hamburg-bist-du-dabei</link>
      <pubDate>Tue, 09 May 2017 13:11:31 GMT</pubDate>
      <dc:creator><![CDATA[PatrickHeyde]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/patrick_heyde/?p=2465</guid>
      <description><![CDATA[Hallo @all,
mit dem Post richte ich mich an Azure-Experten &amp; Consultants und an die werdenden...]]></description>
      <content:encoded><![CDATA[Hallo @all,
mit dem Post richte ich mich an Azure-Experten &amp; Consultants und an die werdenden Experten. Ich plane einen Workshop mit dem Schwerpunkt…. Azure, was sonst. Diesmal in Hamburg. ;-)

Schwerpunkte werden sein:
<ul>
 	<li>Azure Powershell Cmdlets</li>
 	<li>Linux und Windows in Azure richtig Handhaben. ;-)</li>
 	<li>ARM &amp; komplette Automatisierung von Umgebungen</li>
 	<li>Projekterfahrung teilen (typische Szenarien)</li>
 	<li>Labs… #LernenDurchSchmerzen ;-)</li>
 	<li>Black Magic</li>
</ul>
Habe ich dein Interesse geweckt und du möchtest dabei sein? Dann registriere dich. #FCFS

Wann? 5.7. - 6.7.2017 in Hamburg

Stichwort: Azure ITPRO Train The Trainer Workshop v2 – Black Magic

Ich verspreche Euch zwei Tage voller Deployments &amp; rauchende Köpfe.

Alle weiteren Details folgen nach der <del><strong>Anmeldung </strong></del><strong> [ausgebucht] :-)</strong>

Liebe Grüße
Patrick

<strong>FAQ</strong>

Was kostet mich das Training? -&gt; Es ist eure Zeit und Eure Azure Subscription in der ihr die Labs selber aufbaut. Eine Extra-Teilnehmer-Pauschale gibt es nicht.

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Finde das verfügbare Azure ARM based VM-Image</title>
      <link>https://docs.microsoft.com/archive/blogs/patrick_heyde/finde-das-verfugbare-azure-arm-based-vm-image</link>
      <pubDate>Tue, 07 Mar 2017 10:22:03 GMT</pubDate>
      <dc:creator><![CDATA[PatrickHeyde]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/patrick_heyde/?p=2455</guid>
      <description><![CDATA[Hallo @all,

letztens war ich auf der Suche nach einer Auflistung von ganz bestimmten VM-Images in...]]></description>
      <content:encoded><![CDATA[Hallo @all,

letztens war ich auf der Suche nach einer Auflistung von ganz bestimmten VM-Images in Azure. Die Anzahl verfügbaren VM-Images ist mittlerweile sehr hoch und dann fast schon unübersichtlich. Wenn man wissen möchte, ob ein bestimmtes Image verfügbar ist, dann kann es leicht gefunden werden indem man die Suche im Azure-Portal verwendet. Bei mehr als einem VM-Image, dann wird es schon aufwändiger... :-(

Daher, habe ich ein PowerShell Skript erstellt.

Die Images sind alle nach Herstellern aufgelistet, den VM-Image-Publishern. Hier als kleiner Tip, Linux ist kein Publisher ;-) sondern eher SUSE, RedHat, Canonical....

Danach kann man in der Liste des Publishers die Images durchsuchen.

Anbei das Skript:
<pre>$location = "West Europe" 
Get-AzureRmVMImagePublisher -Location $location | ft -AutoSize # Auslistung alle Publisher

$VMImagePublishers = @("SUSE", "RedHat", "Canonical", "CoreOS", "OpenLogic") # das ist nur ein Filter, es gibt noch viele weitere Publisher

foreach ($VMImagePublisher in $VMImagePublishers){     
    $AzureRmVMImageOffers = Get-AzureRmVMImageOffer -Location $location -PublisherName $VMImagePublisher     
    # Write-Output $offers         
    
    foreach ($AzureRmVMImageOffer in $AzureRmVMImageOffers){         
        $imageSKUs = Get-AzureRmVMImageSku -Location $location -PublisherName $VMImagePublisher -Offer $AzureRmVMImageOffer.Offer         

            foreach ($sku in $imageSKUs){             
                Write-host "$($sku.PublisherName)" - " $($sku.Offer) " - "$($sku.Skus)"         
            }     
    } 
}</pre>
Als Output gibt es folgendes zurück: (Stand 7.3.2017) - nicht vergessen die Liste kann von Region zu Region unterschiedlich aussehen ;-)
<pre style="padding-left: 30px"><span style="color: #3366ff">SUSE -  openSUSE-Leap  - 42.1 </span>
<span style="color: #3366ff">SUSE -  openSUSE-Leap  - 42.2</span>
<span style="color: #3366ff">SUSE -  SLES  - 11-SP4</span>
<span style="color: #3366ff">SUSE -  SLES  - 12-SP1</span>
<span style="color: #3366ff">SUSE -  SLES  - 12-SP2</span>
<span style="color: #3366ff">SUSE -  SLES-BYOS  - 11-SP4</span>
<span style="color: #3366ff">SUSE -  SLES-BYOS  - 12-SP2</span>
<span style="color: #3366ff">SUSE -  SLES-HPC  - 12</span>
<span style="color: #3366ff">SUSE -  SLES-HPC  - 12-SP1</span>
<span style="color: #3366ff">SUSE -  SLES-HPC-Priority  - 12</span>
<span style="color: #3366ff">SUSE -  SLES-HPC-Priority  - 12-SP1</span>
<span style="color: #3366ff">SUSE -  SLES-Priority  - 11-SP4</span>
<span style="color: #3366ff">SUSE -  SLES-Priority  - 12-SP1</span>
<span style="color: #3366ff">SUSE -  SLES-Priority  - 12-SP2</span>
<span style="color: #3366ff">SUSE -  SLES-SAP  - 12-SP1</span>
<span style="color: #3366ff">SUSE -  SLES-SAP  - 12-SP2</span>
<span style="color: #3366ff">SUSE -  SLES-SAP-BYOS  - 12-SP1</span>
<span style="color: #3366ff">SUSE -  SLES-SAP-BYOS  - 12-SP2</span>
<span style="color: #3366ff">SUSE -  SLES-SAPCAL  - 11-SP4</span>
<span style="color: #3366ff">SUSE -  SLES-SAPCAL  - 12-SP1</span>
<span style="color: #3366ff">SUSE -  SUSE-Infrastructure  - SMT</span>
<span style="color: #3366ff">SUSE -  SUSE-Manager-Proxy-BYOS  - 3.0</span>
<span style="color: #3366ff">SUSE -  SUSE-Manager-Server-BYOS  - 3.0</span>
<span lang="DE" style="color: #3366ff">RedHat -  RHEL  - 6.7</span>
<span lang="DE" style="color: #3366ff">RedHat -  RHEL  - 6.8</span>
<span lang="DE" style="color: #3366ff">RedHat -  RHEL  - 7.2</span>
<span style="color: #3366ff">RedHat -  RHEL  - 7.3</span>
<span style="color: #3366ff">RedHat -  RHEL-SAP-APPS  - 6.8</span>
<span style="color: #3366ff">RedHat -  RHEL-SAP-APPS  - 7.3</span>
<span style="color: #3366ff">Canonical -  Ubuntu15.04Snappy  - 15.04-Snappy</span>
<span style="color: #3366ff">Canonical -  Ubuntu15.04SnappyDocker  - 15.04-SnappyDocker</span>
<span style="color: #3366ff">Canonical -  UbunturollingSnappy  - 99.99-Snappy</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 12.04.2-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 12.04.3-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 12.04.4-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 12.04.5-DAILY-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 12.04.5-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 12.10</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 14.04-beta</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 14.04.0-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 14.04.1-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 14.04.2-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 14.04.3-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 14.04.4-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 14.04.5-DAILY-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 14.04.5-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 14.10</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 14.10-beta</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 14.10-DAILY</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 15.04</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 15.04-beta</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 15.04-DAILY</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 15.10</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 15.10-alpha</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 15.10-beta</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 15.10-DAILY</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 16.04-alpha</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 16.04-beta</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 16.04-DAILY-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 16.04-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 16.04.0-LTS</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 16.10</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 16.10-DAILY</span>
<span style="color: #3366ff">Canonical -  UbuntuServer  - 17.04-DAILY</span>
<span style="color: #3366ff">Canonical -  Ubuntu_Core  - 16</span>
<span style="color: #3366ff">Canonical -  Ubuntu_Snappy_Core  - 15.04</span>
<span style="color: #3366ff">Canonical -  Ubuntu_Snappy_Core  - Rolling</span>
<span style="color: #3366ff">Canonical -  Ubuntu_Snappy_Core_Docker  - 15.04</span>
<span style="color: #3366ff">CoreOS -  Container-Linux  - Alpha</span>
<span style="color: #3366ff">CoreOS -  Container-Linux  - Beta</span>
<span style="color: #3366ff">CoreOS -  Container-Linux  - Stable</span>
<span style="color: #3366ff">CoreOS -  CoreOS  - Alpha</span>
<span style="color: #3366ff">CoreOS -  CoreOS  - Beta</span>
<span style="color: #3366ff">CoreOS -  CoreOS  - Stable</span>
<span style="color: #3366ff">OpenLogic -  CentOS  - 6.5</span>
<span style="color: #3366ff">OpenLogic -  CentOS  - 6.6</span>
<span style="color: #3366ff">OpenLogic -  CentOS  - 6.7</span>
<span style="color: #3366ff">OpenLogic -  CentOS  - 6.8</span>
<span style="color: #3366ff">OpenLogic -  CentOS  - 7.0</span>
<span style="color: #3366ff">OpenLogic -  CentOS  - 7.1</span>
<span style="color: #3366ff">OpenLogic -  CentOS  - 7.2</span>
<span style="color: #3366ff">OpenLogic -  CentOS  - 7.2n</span>
<span style="color: #3366ff">OpenLogic -  CentOS  - 7.3</span>
<span style="color: #3366ff">OpenLogic -  CentOS-HPC  - 6.5</span>
<span style="color: #3366ff">OpenLogic -  CentOS-HPC  - 7.1</span></pre>
<pre></pre>
Viel Spaß damit,

Liebe Grüße

Patrick]]></content:encoded>
    </item>
    <item>
      <title>Ich plane den nächsten Azure ITPRO Train The Trainer Workshop diesmal v2 – Black Magic. Bist du dabei?</title>
      <link>https://docs.microsoft.com/archive/blogs/patrick_heyde/ich-plane-den-nachsten-azure-itpro-train-the-trainer-workshop-diesmal-v2-black-magic-bist-du-dabei</link>
      <pubDate>Wed, 26 Oct 2016 04:23:42 GMT</pubDate>
      <dc:creator><![CDATA[PatrickHeyde]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/patrick_heyde/?p=2445</guid>
      <description><![CDATA[Hallo @all,

mit dem Post richte ich mich an Azure-Experten &amp; Consultants und an die werdenden...]]></description>
      <content:encoded><![CDATA[Hallo @all,

mit dem Post richte ich mich an Azure-Experten &amp; Consultants und an die werdenden Experten. Ich plane einen Workshop mit dem Schwerpunkt…. Azure, was sonst. <img class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/wlEmoticon-winkingsmile_0FE8509C.png" />

Schwerpunkte werden sein:
<ul>
 	<li>Azure Powershell Cmdlets</li>
 	<li>Linux und Windows in Azure richtig Handhaben.  <img class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/wlEmoticon-winkingsmile_0FE8509C.png" /></li>
 	<li>ARM &amp; komplette Automatisierung von Umgebungen</li>
 	<li>Projekterfahrung teilen (typische Szenarien)</li>
 	<li>Labs… #LernenDurchSchmerzen <img class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/wlEmoticon-winkingsmile_0FE8509C.png" /></li>
 	<li>Black Magic</li>
</ul>
Habe ich dein Interesse geweckt und du möchtest dabei sein? Dann registriere dich über Meetup... <a href="https://www.meetup.com/de-DE/Lets-Talk-Azure/events/235122422/">Let's talk about Azure</a>. Wann? 29.11. - 30.11.2016 in Saarbrücken.

Stichwort: <strong>Azure ITPRO Train The Trainer Workshop v2 – Black Magic</strong>

Ich verspreche Euch einen Tag voller Deployments &amp; rauchende Köpfe <img class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/wlEmoticon-winkingsmile_0FE8509C.png" />

Alle weiteren Details folgen.

Liebe Grüße

Patrick]]></content:encoded>
    </item>
    <item>
      <title>Ich plane einen Azure ITPRO Train The Trainer Workshop – Black Magic. Bist du dabei?</title>
      <link>https://docs.microsoft.com/archive/blogs/patrick_heyde/ich-plane-einen-azure-itpro-train-the-trainer-workshop-black-magic-bist-du-dabei</link>
      <pubDate>Wed, 10 Feb 2016 08:55:00 GMT</pubDate>
      <dc:creator><![CDATA[PatrickHeyde]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/patrick_heyde/2016/02/10/ich-plane-einen-azure-itpro-train-the-trainer-workshop-black-magic-bist-du-dabei/</guid>
      <description><![CDATA[Hallo @all,
[update 15.02.2016:] danke f&uuml;r die zahlreichen Meldungen. die Infos gehen in...]]></description>
      <content:encoded><![CDATA[<p>Hallo @all,</p>
<p><em>[update 15.02.2016:] danke f&uuml;r die zahlreichen Meldungen. die Infos gehen in K&uuml;rze raus. keine neuen Anmeldungen mehr]</em></p>
<p>mit dem Post richte ich mich an Azure-Experten &amp; Consultants und die werdenden Experten. Ich plane einen Workshop mit dem Schwerpunkt&hellip;. Azure, was sonst. <img class="wlEmoticon wlEmoticon-winkingsmile" style="border-style:none;" alt="Winking smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/wlEmoticon-winkingsmile_0FE8509C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/wlEmoticon_2D00_winkingsmile_5F00_0FE8509C.png" /></p>
<p>Schwerpunkte werden sein:</p>
<ul>
<li>Azure Powershell Cmdlets, Cli-Client</li>
<li>Linux und Windows in Azure richtig Handhaben.&nbsp; <img class="wlEmoticon wlEmoticon-winkingsmile" style="border-style:none;" alt="Winking smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/wlEmoticon-winkingsmile_0FE8509C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/wlEmoticon_2D00_winkingsmile_5F00_0FE8509C.png" /></li>
<li>ASM vs. ARM</li>
<li>Projekterfahrung teilen</li>
<li>Labs&hellip; #LernenDurchSchmerzen <img class="wlEmoticon wlEmoticon-winkingsmile" style="border-style:none;" alt="Winking smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/wlEmoticon-winkingsmile_0FE8509C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/wlEmoticon_2D00_winkingsmile_5F00_0FE8509C.png" /></li>
<li>Black Magic</li>
</ul>
<p>Habe ich dein Interesse geweckt und du m&ouml;chtest dabei sein? Dann ping mich &uuml;ber den Blog an, unter &ldquo;<span style="text-decoration:line-through;">Email Blog Author</span>&rdquo;</p>
<p>Stichwort: <strong>Azure ITPRO Train The Trainer Workshop &ndash; Black Magic</strong></p>
<p>Ich verspreche Euch einen Tag voller Deployments &amp; rauchende K&ouml;pfe <img class="wlEmoticon wlEmoticon-winkingsmile" style="border-style:none;" alt="Winking smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/wlEmoticon-winkingsmile_0FE8509C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/wlEmoticon_2D00_winkingsmile_5F00_0FE8509C.png" />&nbsp;</p>
<p>Alle weiteren Details folgen dann per Mail.</p>
<p>Liebe Gr&uuml;&szlig;e</p>
<p>Patrick</p>]]></content:encoded>
    </item>
    <item>
      <title>Azure PowerShell authenticate mit Azure Active Directory ohne popup-Fenster - Add-AzureAccount vs. Management Certificates</title>
      <link>https://docs.microsoft.com/archive/blogs/patrick_heyde/azure-powershell-authenticate-mit-azure-active-directory-ohne-popup-fenster-add-azureaccount-vs-management-certificates</link>
      <pubDate>Wed, 19 Aug 2015 08:30:00 GMT</pubDate>
      <dc:creator><![CDATA[PatrickHeyde]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/patrick_heyde/2015/08/19/azure-powershell-authenticate-mit-azure-active-directory-ohne-popup-fenster-add-azureaccount-vs-management-certificates/</guid>
      <description><![CDATA[&nbsp;
Hallo @all,
wenn man in Azure viel automatisiert, dann wird man fr&uuml;her und sp&auml;ter...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;</p>
<p>Hallo @all,</p>
<p>wenn man in Azure viel automatisiert, dann wird man fr&uuml;her und sp&auml;ter eine Aufgabe l&ouml;sen m&uuml;ssen. <strong>&ldquo;Wie bekommt man die PowerShell Skripte secure &amp; automatisch zur Ausf&uuml;hrung ohne das Klartext-Passw&ouml;rter verwendet werden f&uuml;r den Zugriff auf die Azure Subscription oder f&uuml;r den Zugriff auf Virtuelle Maschinen via Remote-PowerShell.&rdquo;</strong></p>
<p>Traditionell verwendet man in Azure die Management Zertifikate f&uuml;r den Zugriff auf Azure Subscriptions. Das ist Secure und gebunden mit einem Zertifikat f&uuml;r den User. Doch warum muss man User und Zertifikate pflegen, wenn man nur den Zugriff auf eine Ressource sicherstellen m&ouml;chte. Kommt noch der Zugriff auf Virtuelle Maschinen hinzu, dann nutzt man in der Regel ein Active Directory. Also bl&auml;ht sich das Management von IT Ressourcen auf und die Komplexit&auml;t nimmt zu, indem man Zertifikate und AD zusammen pflegen muss.</p>
<p><strong>Warum?</strong>&nbsp;</p>
<p>Es geht genauso sicher und dennoch einfacher. Zudem gibt es einige Ressourcen in Azure die nicht mehr mit Management Zertifikaten unterst&uuml;tzt werden.</p>
<p><em><span style="font-size:medium;">D.h. Azure Management Certificates sind Old-School</span></em></p>
<p>D.h. Befehle wie <strong>Get-AzurePublingingSettingsFile</strong> und<strong> import-AzurePublishingSettingsFile</strong> geh&ouml;ren f&uuml;r mich der Vergangenheit an.<br /><a title="https://blogs.technet.com/b/patrick_heyde/archive/2012/07/10/windows-azure-und-powershell-how-to.aspx" href="/b/patrick_heyde/archive/2012/07/10/windows-azure-und-powershell-how-to.aspx">https://blogs.technet.com/b/patrick_heyde/archive/2012/07/10/windows-azure-und-powershell-how-to.aspx</a></p>
<p>Die Frage ist nun: Wie sieht die Alternative aus? Einfacher und genauso sicher!</p>
<p>Ich verwendet daf&uuml;r mein Azure Active Directory in der Azure Subscription. Dort habe ich einen Benutzer eingetragen. Man kann Azure AD Connect verwenden und das Lokale Windows AD mit dem Azure AD synchronisieren oder einfach einen User von Hand in das Azure AD eintragen. Auf diese Weise verwendet man die User Credentials in der Azure Subscription. Wenn man das Azure AD mit lokalem AD synchronisiert dann kann man sogar Single Sign On verwendet und nutzt die lokalen LogOn Credentials.</p>
<p>Am Ende ist nur eines wichtig. Man hat einen User Account im Azure AD zur Verf&uuml;gung.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_3CF35845.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_3CF35845.png"><img width="497" height="111" title="image" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_thumb_1EAB3200.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_thumb_5F00_1EAB3200.png" border="0" /></a></p>
<p>Nun kann man via PowerShell die Authentifizierung gegen das Azure AD verwenden. Was muss man daf&uuml;r tun? Nichts <img class="wlEmoticon wlEmoticon-smile" style="border-style:none;" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/wlEmoticon-smile_18867616.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/wlEmoticon_2D00_smile_5F00_18867616.png" /> weil Windows automatisch das AzureAD aufl&ouml;sen kann.</p>
<p>Damit man loslegen kann, sollte man den Azure AD User in der Azure Subscription berechtigen, also als Co-Administrator hinterlegen.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_519FE3C9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_519FE3C9.png"><img width="496" height="123" title="image" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_thumb_7078E858.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_thumb_5F00_7078E858.png" border="0" /></a></p>
<p>Und so geht es weiter, in Powershell verwendet man den Benutzernamen und das Passwort, indem man in der PowerShell Add-AzureAccount ausf&uuml;hrt. Normalerweise &ouml;ffnet sich dann ein Fenster, man gibt den Benutzernamen und das Password ein und erh&auml;lt in der PowerShell Console die Credentials.</p>
<p>Die Option 1 ist jetzt wenig Secure, da das Passwort im Klartext im Skript hinterlegt ist.&nbsp; Es soll einfach den ersten Einstieg verdeutlichen.</p>
<p><strong># Option 1:</strong><br />$username = patrick@phclouddomain.onmicrosoft.com # Azure AD User Account<br />$password = ConvertTo-SecureString &quot;meinPassword123&quot; -AsPlainText -Force</p>
<p>$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password</p>
<p>Add-AzureAccount -Credential $cred</p>
<p>Get-AzureVM</p>
<p>Auf diese Weise hat die PowerShell Console Zugriff auf meine Azure Subscription bekommen und kann jetzt VMs aufbauen, Konfigurationen anpassen etc.</p>
<p>Als n&auml;chsten Schritt m&ouml;chte man das Passwort nicht mehr im Klartext hinterlegen. D.h. den Secure-String verwenden, also ein verschl&uuml;sseltes Passwort kommt zum Einsatz.</p>
<p><strong>Option 2:</strong></p>
<p>Das Passwort abzusichern und nicht f&uuml;r jedem zug&auml;nglich zu machen:</p>
<p><em>read-host -assecurestring | convertfrom-securestring | out-file C:\temp\securestring.txt</em></p>
<p>Mit dieser Zeile erstellt man einmalig einen SecureString f&uuml;r sein Passwort. Es ist hinterlegt in einer Textdatei, es ist m&ouml;glich dass man auch ein anderes Speichermedium verwendet wie eine Datenbank oder Windows AD User-Feld.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_28B9F022.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_28B9F022.png"><img width="457" height="70" title="image" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_thumb_72DA1C69.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_thumb_5F00_72DA1C69.png" border="0" /></a></p>
<p>Um sich zu Authentifizieren ben&ouml;tigt man Zugriff auf die Datei, d.h. meine Windows logon Credential kann ein Mittel sein um den Zugriff auf die Datei zu begrenzen. Danach passiert der Rest automatisch ohne viel Aufwand:</p>
<p>$pass = Get-Content C:\temp\securestring.txt | convertto-securestring<br />$mycred = new-object -typename System.Management.Automation.PSCredential -argumentlist &quot;patrick@phclouddomain.onmicrosoft.com&quot;,$pass</p>
<p>Add-AzureAccount -Credential $mycred</p>
<p>Get-AzureVM</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_4D72B9AC.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_4D72B9AC.png"><img width="599" height="83" title="image" style="background-image:none;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-width:0px;" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_thumb_05B65227.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_thumb_5F00_05B65227.png" border="0" /></a></p>
<p>Auf diese Weise kann man die Komplexit&auml;t aus der Umgebung reduzieren bei gleichbleibender Security und einem hohem Automatisierungsgrad.</p>
<p>Viel Spa&szlig; damit,</p>
<p>Liebe Gr&uuml;&szlig;e</p>
<p>Patrick</p>]]></content:encoded>
    </item>
    <item>
      <title>Tools</title>
      <link>https://docs.microsoft.com/archive/blogs/patrick_heyde/tools</link>
      <pubDate>Mon, 10 Aug 2015 07:37:36 GMT</pubDate>
      <dc:creator><![CDATA[PatrickHeyde]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/patrick_heyde/2009/08/28/tools/</guid>
      <description><![CDATA[Here you can find the Tools I provide:
MOSS 2007

SharePointFarmSolutionExtractorThis tool allows...]]></description>
      <content:encoded><![CDATA[<p>Here you can find the Tools I provide:</p>
<p><span style="text-decoration:underline;"><strong>MOSS 2007</strong></span></p>
<ul>
<li><strong><a title="SharePointFarmSolutionExtractor" href="https://aka.ms/spfarmsolutionextractor">SharePointFarmSolutionExtractor</a></strong><br />This tool allows to verify all wsp files installed on SharePoint 2007 Farm. And it allows to download the wsp files from SharePoint Database to hard disk.</li>
</ul>
<p></p>
<ul>
<li><strong><a href="https://aka.ms/spperformancetester" target="_blank">PerformanceTester - (SharePoint / WebServer Performance Tester)</a></strong><br />PerformanceTester is a tool to create Stress for your WebServer. It make your bottlenecks, like: high CPU, high memory, long executions, ... visible and you can start troubleshooting your bottlenecks.</li>
</ul>
<p></p>
<ul>
<li>Azure Website Migration Assistant tool - <a title="Download" href="https://www.movemetothecloud.net/">Download</a> , <a title="Video" href="https://channel9.msdn.com/Shows/Azure-Friday/Azure-Websites-Migration-Assistant-with-Apurva-Joshi">Video<br /></a>Migrate&nbsp;your local Website from local server to an Azure website.</li>
</ul>
<p></p>
<p><span style="text-decoration:underline;"><strong>ASP.NET </strong></span></p>
<ul>
<li><span style="text-decoration:underline;">Debugging Area:</span></li>
</ul>
<p style="padding-left:60px;"><a title="&lt;p style='padding-left: 60px;'&gt;Debugging Tools (WinDbg)&lt;/p&gt;" href="https://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx" target="_blank">Debugging Tools (WinDbg)</a></p>
<p style="padding-left:90px;"><em>WinDbg Extensions:</em></p>
<p style="padding-left:120px;"><a title="PSSCor2 - Managed Code Debugging for .Net 2, 3.0, 3.5 =&amp;gt; CLR 2.0" href="https://www.microsoft.com/downloads/en/details.aspx?FamilyID=5c068e9f-ebfe-48a5-8b2f-0ad6ab454ad4&amp;displayLang=en" target="_blank">PSSCor2 - Managed Code Debugging for .Net 2, 3.0, 3.5 =&gt; CLR 2.0</a></p>
<p style="padding-left:120px;"><a title="&lt;p style='padding-left: 60px;'&gt;PSSCor4 - Managed Code Debugging for .Net 4.0 =&amp;gt; CLR 4.0&lt;/p&gt;" href="https://www.microsoft.com/downloads/en/details.aspx?FamilyID=a06a0fea-a4d4-434e-a527-d6afa2e552dd" target="_blank">PSSCor4 - Managed Code Debugging for .Net 4.0 =&gt; CLR 4.0<br /></a></p>]]></content:encoded>
    </item>
    <item>
      <title>Azure Certification Management - Security - Do's and Don'ts</title>
      <link>https://docs.microsoft.com/archive/blogs/patrick_heyde/azure-certification-management-security-dos-and-donts</link>
      <pubDate>Mon, 10 Aug 2015 07:09:26 GMT</pubDate>
      <dc:creator><![CDATA[PatrickHeyde]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/patrick_heyde/2015/08/10/azure-certification-management-security-dos-and-donts/</guid>
      <description><![CDATA[Hallo @all,
die Azure Product Group hat einen BlogPost ver&ouml;ffentlicht, den man in Deutschland...]]></description>
      <content:encoded><![CDATA[<p>Hallo @all,</p>
<p>die Azure Product Group hat einen BlogPost ver&ouml;ffentlicht, den man in Deutschland eigentlich sehr beherzigen sollten. Nicht selten bin ich in Gepr&auml;chen zu den Themen&nbsp;Datensicherheit und Security&nbsp;involviert.</p>
<p>Traurig ist nur, wie oft (fast w&ouml;chentlich) ich feststelle, wie selten &uuml;ber das Thema &quot;fachlich&quot; nachgedacht wird.</p>
<p>Daher meine Bitte: Lesen. <a title="Azure Certificate Best Practices " href="https://blogs.msdn.com/b/azuresecurity/archive/2015/07/13/azure-certificate-best-practices.aspx">Azure Certificate Best Practices</a></p>
<h3>Kurze Zusammenfassung:</h3>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="158" valign="top">
<p><strong>Key Type</strong></p>
</td>
<td width="215" valign="top">
<p><strong>Recommended Rotation Period</strong></p>
</td>
</tr>
<tr>
<td width="158" valign="top">
<p>Self-Signed Certificate</p>
</td>
<td width="215" valign="top">
<p>2 Years</p>
</td>
</tr>
<tr>
<td width="158" valign="top">
<p>Symmetric Keys</p>
</td>
<td width="215" valign="top">
<p>2 Years</p>
</td>
</tr>
<tr>
<td width="158" valign="top">
<p>Asymmetric Keys</p>
</td>
<td width="215" valign="top">
<p>2 years</p>
</td>
</tr>
<tr>
<td width="158" valign="top">
<p>Storage Account Keys</p>
</td>
<td width="215" valign="top">
<p>2 years</p>
</td>
</tr>
<tr>
<td width="158" valign="top">
<p>Tokens</p>
</td>
<td width="215" valign="top">
<p>ADFS &ndash; 24 hours</p>
</td>
</tr>
<tr>
<td width="158" valign="top">
<p>Shared Access Signatures</p>
</td>
<td width="215" valign="top">
<p>60 days</p>
</td>
</tr>
<tr>
<td width="158" valign="top">
<p>Domain Passwords</p>
</td>
<td width="215" valign="top">
<p>70 days</p>
</td>
</tr>
<tr>
<td width="158" valign="top">
<p>Connection strings</p>
</td>
<td width="215" valign="top">
<p>70 days</p>
</td>
</tr>
</tbody>
</table>
<p>- bitte keine Credentials und Passw&ouml;rter in .txt oder config-Files hinterlegen, auch ein ConnectionString sollte mal ge&auml;ndert werden.</p>
<p>- wildcard certificates vermeiden, sie&nbsp;gef&auml;hrden das Gesamtsystem</p>
<p>Dieses Thema kann man sehr einfach l&ouml;sen mit einem Ansatz, dem&nbsp;Azure Key Vault?</p>
<p>Get started on Azure Key Vault <a href="https://azure.microsoft.com/en-us/documentation/services/key-vault/"><span>here</span></a>.</p>
<p>Liebe Gr&uuml;&szlig;e</p>
<p>Patrick</p>
<p></p>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>Wie skaliert man eine Azure SQL Datenbank on Demand und vollautomatisch</title>
      <link>https://docs.microsoft.com/archive/blogs/patrick_heyde/wie-skaliert-man-eine-azure-sql-datenbank-on-demand-und-vollautomatisch</link>
      <pubDate>Thu, 30 Apr 2015 05:06:54 GMT</pubDate>
      <dc:creator><![CDATA[PatrickHeyde]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/patrick_heyde/2015/04/30/wie-skaliert-man-eine-azure-sql-datenbank-on-demand-und-vollautomatisch/</guid>
      <description><![CDATA[Hallo @all, traditionell wird in der IT die Infrastruktur nach dem maximalen Peak geplant . D.h. die...]]></description>
      <content:encoded><![CDATA[<p>Hallo @all,</p> <p>traditionell wird in der IT die Infrastruktur nach dem maximalen Peak geplant . D.h. die Umgebung wird oftmals überdimensioniert umgesetzt, für den Fall der Fälle. In Azure wird Hardware zum Service. Ich nennen es mal Hardware as a Service, d.h. Hardware ist nur noch eine Quota, die man einfach aufdreht und wieder zudreht, wie einen Wasserhahn. D.h. auf dieser Basis plant man Cloud-Architekturen. Also nicht mehr nach dem maximalen Peak sondern nach dem Skalierungsverhalten und das Anfangsziel ist immer die <strong>Unterdimensionierung und minimale Hardwareanforderung. </strong></p> <p>Ja Ihr habt richtig gehört/gelesen, <strong>Unterdimensionierung.</strong> Am Anfang unterdimensioniert man jede Umgebung, denn damit definiert man die immer anfallenden Fix-Kosten. Ähnlich wie beim Wasserhahn. Wenn dieser zu 10% geöffnet ist, fließt ständig ein wenig Wasser und das kostet Geld. </p> <p>Derzeit (Stand: 30.4.2015) werden die Azure Datenbankstufen auf stündlicher Basis gemessen und ein ändern des Performance-Levels ist pro Tag, 4 mal möglich. D.h. unter dem Strich, Wasserhahn voll aufdrehen =&gt; mehr Wasserkosten/Hardwarekosten, Wasserhahn zudrehen =&gt; weniger Hardwarekosten. Bei Azure SQL Datenbanken gibt es folgende Stufen bei der Wahl des richtigen <a href="https://msdn.microsoft.com/en-us/library/dn741336.aspx">PerformanceLevels</a>/Hardwarestufen:</p> <ul> <li>Basis  </li><li>Standard S0  </li><li>Standard S1  </li><li>Standard S2  </li><li>(Standard S3 – in Preview)  </li><li>Premium P1  </li><li>Premium P2  </li><li>Premium P3</li></ul> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_770FA5A9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_770FA5A9.png"><img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_thumb_5A95447A.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_thumb_5F00_5A95447A.png" width="569" height="199" /></a><br /><em>Notiz: Die Tabelle hilft, doch in der Praxis ist das Messen der Datenbankauslastung in der Performance-Stufe entscheidend.</em></p> <h1>Wie implementiert man diese Verhalten? </h1><br /> <p>Insgesamt mit 3 Schritten:</p> <ol> <li>Messen der aktuellen Lastsituation &amp; Hardwareauslastung, pro Datenbank  </li><li>Eine Entscheidungslogik definieren wann man skalieren möchte.  </li><li>Skalierung durchführen</li></ol> <p>In dem Blogpost gebe ich euch die Schritte 1 und 3. Wie ihr am besten eure Applikation skaliert, d.h. in welche Stufe ihr springen wollt, das könnt ihr einfach austesten mit den beiden Schritten.</p> <p><strong>Punkt 1: Messen der Performancelast &amp; Hardwareauslastung:<br /></strong>Der Hardware-Verbrauch wird in Azure SQL Datenbanken durch Performance-Stufen beschrieben. Jede Stufe hat eine Anzahl an CPU (DTU in Azure genannt), RAM, IO-Verhalten, etc.&nbsp; Unter dem Strich kann man mit einer einzigen SQL Query die aktuelle Auslastung der Performance-Stufe abrufen:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_5EA222FD.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_5EA222FD.png"><img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_thumb_7081477B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_thumb_5F00_7081477B.png" width="553" height="43" /></a></p> <p>-- aktuelle SQL Auslastung ausgeben<br /><em><font size="2">select top 1 * from sys.dm_db_resource_stats order by end_time desc </font></em></p> <p>Die Query ist so intelligent, dass man das Ergebnis prozentual zur aktuell laufenden Performance-Stufe erhält. Also kein Wildes ausrechnen von Max. und Min.-Werten für die jeweilige Stufe.</p> <p>Ich lasse es in der Regel via Powershell ausführen:</p> <p>$mypassword = &quot;...&quot;<br />$user = &quot;sqladmin&quot;<br />$dbserver = &quot;akskdfjasldkfa&quot;<br />$dbname = &quot;myDb&quot;</p> <p>function Invoke-SQL {<br />&nbsp;&nbsp;&nbsp; param(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [string] $sqlCommand = $(throw &quot;Please specify a query.&quot;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</p> <p>&nbsp;&nbsp;&nbsp; $connectionString = &quot;Server=tcp:$dbserver.database.windows.net,1433;Database=$dbname;User ID=$user@$dbserver;Password=$mypassword;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;&quot;</p> <p><br />&nbsp;&nbsp;&nbsp; $connection = new-object system.data.SqlClient.SQLConnection($connectionString)<br />&nbsp;&nbsp;&nbsp; $command = new-object system.data.sqlclient.sqlcommand($sqlCommand,$connection)<br />&nbsp;&nbsp;&nbsp; $connection.Open()</p> <p>&nbsp;&nbsp;&nbsp; $adapter = New-Object System.Data.sqlclient.sqlDataAdapter $command<br />&nbsp;&nbsp;&nbsp; $dataset = New-Object System.Data.DataSet<br />&nbsp;&nbsp;&nbsp; $adapter.Fill($dataSet) | Out-Null</p> <p>&nbsp;&nbsp;&nbsp; $connection.Close()<br />&nbsp;&nbsp;&nbsp; $dataSet.Tables | ft -AutoSize</p> <p>}</p> <p><br />for ($x = 0; $x -lt 10000; $x++)<br />{<br />&nbsp;&nbsp;&nbsp; Write-Host &quot;run $x&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp; Invoke-SQL -sqlCommand &quot;select top 1 * from sys.dm_db_resource_stats order by end_time desc&quot;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; # sys.dm_db_resource_stats <br />&nbsp;&nbsp;&nbsp; # sys.resource_stats<br />&nbsp;&nbsp;&nbsp; Start-Sleep -Seconds 1<br />}</p> <p>Das Ergebnis sieht dann so aus:  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_54DF4C36.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_54DF4C36.png"><img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_thumb_7FBA40F9.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_thumb_5F00_7FBA40F9.png" width="484" height="54" /></a>  <p><strong>Punkt 2: Entscheiden wann der Performance-Hahn aufgedreht wird und wann dieser wieder zugedreht werden soll.</strong></p> <p>Bevor man einfach blind entscheidet muss man kurz ein paar Dinge wissen, damit man richtig und optimal entscheiden kann.</p> <p><em>Azure SQL Datenbanken werden Stundengenau in der Performance-Stufe berechnet. Auf Basis dieser Information sollte man die Frequenz zum Skalieren von mind. größer als 1 Stunde wählen. </em></p> <p><em>Pro Tag kann man eine Datenbank 4 mal skalieren. D.h. man muss mit dem skalieren sparsam und gleichzeitig bewusst umgehen.</em></p> <p>weitere Details hierzu: <a title="https://azure.microsoft.com/de-de/pricing/details/sql-database/" href="https://azure.microsoft.com/de-de/pricing/details/sql-database/">https://azure.microsoft.com/de-de/pricing/details/sql-database/</a><br /></p> <p><em>Eine einfache </em><a href="https://azure.microsoft.com/de-de/pricing/details/sql-database/#"><font color="#2a2a2a"><em>Businessentscheidung:</em></font></a></p> <p>2 Zeiten definieren und das unerwartete:<br />1. die Non-Business-Phase<br />2. die Business-Phase<br />3. die unerwartete Phase</p> <p><em>ein Beispiel:</em>&nbsp;<br />Non-Buisness-Phase – 22:00 – 06:00 =&gt; S0<br />Business-Phase – 6:00 – 22:00 =&gt; S2<br />unerwartete Phase – S3, P1, P2, P3</p> <p>In Summe benötigt man über den Tag 2 Wechsel und man hat noch 2 Wechsel der Performance-Stufe in Reserve, für den Fall, das etwas unerwartetes passiert. </p> <p><strong>Punkt 3: Automatisiert den Performance-Hahn regeln lassen</strong></p> <p>Das setzen der neuen Performance-Stufe passiert bspw. über PowerShell.</p> <p># get all sql azure db server listed<br />Get-AzureSqlDatabaseServer<br /></p> <p>Write-Host<br />$dbserver = Read-Host &quot;Choose your DB-Server&quot;<br />$sqlServerContext = New-AzureSqlDatabaseServerContext -ServerName $dbserver -UseSubscription</p> <p>Start-Sleep -Seconds 1</p> <p># get all DBs from Server<br />Get-AzureSqlDatabase $sqlServerContext | select Name,Edition, ServiceObjectiveName,ServiceObjectiveAssignmentStateDescription, MaxSizeGB| ft -AutoSize</p> <p>Write-Host<br />$database = Read-Host &quot;Choose your Database on&quot;</p> <p>$db = Get-AzureSqlDatabase $sqlServerContext -DatabaseName $database<br /># Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : testdb1<br /># CollationName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : SQL_Latin1_General_CP1_CI_AS<br /># Edition&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Premium<br /># MaxSizeGB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 500<br /># MaxSizeBytes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 536870912000<br /># ServiceObjectiveName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : P1<br /># ServiceObjectiveAssignmentStateDescription : Complete<br /># CreationDate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 12.01.2015 15:14:09<br /># RecoveryPeriodStartDate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : 12.01.2015 15:44:10</p> <p><br />$perflevel = Read-Host &quot;Choose your new Database Performance Level: (Basic, S0, S1, S2, P1, P2, P3)&quot;</p> <p># define a Premium performance level for the Database<br />$performanceLevel = Get-AzureSqlDatabaseServiceObjective $sqlServerContext -ServiceObjectiveName $perflevel&nbsp; # set value to &quot;P1 or P2 or P3&quot;</p> <p># set the db performance Level to current db<br />switch -wildcard ($performanceLevel.Description) <br />&nbsp;&nbsp;&nbsp; { <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;*Basic*&quot;&nbsp;&nbsp;&nbsp; { Set-AzureSqlDatabase $sqlServerContext –Database $db –ServiceObjective $performanceLevel –Edition Basic -Force<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write-Output &quot;setup to basic&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;*Standard*&quot; { Set-AzureSqlDatabase $sqlServerContext –Database $db –ServiceObjective $performanceLevel –Edition Standard -Force <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write-Output &quot;setup to standard&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;*Premium*&quot;&nbsp; { Set-AzureSqlDatabase $sqlServerContext –Database $db –ServiceObjective $performanceLevel –Edition Premium -Force <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write-Output &quot;setup to premium&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; }</p> <p>Write-Host<br />Write-Host &quot;new performance level&quot;<br />$status = Get-AzureSqlDatabase $sqlServerContext -DatabaseName $database </p> <p>write-host &quot;operation status is &quot; $status.ServiceObjectiveAssignmentStateDescription.ToString()</p> <p>while ($status.ServiceObjectiveAssignmentStateDescription -eq &#39;Pending&#39;)<br />{<br />&nbsp;&nbsp;&nbsp; $status = Get-AzureSqlDatabase $sqlServerContext -DatabaseName $database <br />&nbsp;&nbsp;&nbsp; $time = get-date</p> <p>&nbsp;&nbsp;&nbsp; write-host &quot;operation status is: &quot; $status.ServiceObjectiveAssignmentStateDescription.ToString() &quot; - &quot; $time.ToLongTimeString()<br />&nbsp;&nbsp;&nbsp; <br />}<br />Get-AzureSqlDatabase $sqlServerContext -DatabaseName $database | select Name,Edition, ServiceObjectiveName,ServiceObjectiveAssignmentStateDescription, MaxSizeGB| ft -AutoSize<br /></p> <p>Zu guter Letzt benötigt Ihr noch etwas Traffic im System und dann kann das IT-Regel-System einmal durchgetestet werden.</p> <p>Meine Erfahrungen mit dem Verhalten in Projekten ist bisher nur positiv. </p> <p>Viel Spaß damit und Liebe Grüße</p> <p>Patrick</p></p></p>]]></content:encoded>
    </item>
    <item>
      <title>Wie sieht die Roadmap von Azure aus und was kann ich selber bewegen?</title>
      <link>https://docs.microsoft.com/archive/blogs/patrick_heyde/wie-sieht-die-roadmap-von-azure-aus-und-was-kann-ich-selber-bewegen</link>
      <pubDate>Mon, 16 Feb 2015 05:04:08 GMT</pubDate>
      <dc:creator><![CDATA[PatrickHeyde]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/patrick_heyde/2015/02/16/wie-sieht-die-roadmap-von-azure-aus-und-was-kann-ich-selber-bewegen/</guid>
      <description><![CDATA[Hi, wer schon immer mal wissen wollten, wo die Reise hingeht und sich auf neue Feature freuen mag....]]></description>
      <content:encoded><![CDATA[<p>Hi,</p> <p>wer schon immer mal wissen wollten, wo die Reise hingeht und sich auf neue Feature freuen mag.</p> <p><em><strong>Hier ist die Azure / Public Cloud Roadmap: </strong></em><a href="https://www.microsoft.com/en-us/server-cloud/roadmap/recently-available.aspx?TabIndex=2"><em><strong>Cloud Platform Roadmap</strong></em></a><em><strong>.</strong></em></p> <p>Die Seite zeigt die einzelnen Feature im Status an:<br />- neu verfügbar<br />- verfügbar in der Vorschau-Version / (Beta-Stand, Public-Preview) <br />- aktuell in Entwicklung<br />- abgekündigte Features</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_29582E53.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_29582E53.png"><img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_thumb_13936758.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_thumb_5F00_13936758.png" width="515" height="385" /></a></p> <p>Neben der <a href="https://www.microsoft.com/en-us/server-cloud/roadmap/recently-available.aspx?TabIndex=2">Azure Roadmap Website</a> gibt es zudem eine <a href="https://feedback.azure.com/">Feature-Request Website</a>. D.h. man hat die Möglichkeit fehlende Features zu beantragen. Oder jemand auf der Welt hat das Feature schon beantragt steht in der Priorisierung noch nicht ganz weit vorn…. tja dann kann man für die Feature-Anfrage seine Stimme geben. Auf diese Weile kann man&nbsp; Feature-Anfragen nach oben priorisieren.</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_04EB4C24.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_04EB4C24.png"><img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_thumb_5DB3939F.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_thumb_5F00_5DB3939F.png" width="461" height="341" /></a></p> <p>Auf der rechten Seite kann man zudem nach den Hauptkategorien filtern und sehen was bspw. alles passiert mit Kommentaren von der Microsoft Product Group zu den einzelnen Bereichen:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_283D622B.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_283D622B.png"><img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_thumb_3539D2ED.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_thumb_5F00_3539D2ED.png" width="184" height="401" /></a></p> <p>Schaut man sich bspw. den Bereich SQL Datenbanken an, so sieht man gleich die am höchsten bewerteten Feature-Anfragen:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_192BA4B3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_192BA4B3.png"><img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/72/76/metablogapi/image_thumb_63B803EF.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-72-76-metablogapi/image_5F00_thumb_5F00_63B803EF.png" width="396" height="458" /></a></p> <p>Liebe Grüße</p> <p>Patrick </p>]]></content:encoded>
    </item>
  </channel>
</rss>