<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SQL Server &#8211; Haikos Blog</title>
	<atom:link href="https://www.hertes.net/category/microsoft/sql-server/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.hertes.net</link>
	<description>Blog von Haiko Hertes zu allen Themen rund um Microsoft, Cloud und Datacenter</description>
	<lastBuildDate>Thu, 20 Oct 2022 06:44:31 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Folien meiner Sessions auf den sqlDays 2022</title>
		<link>https://www.hertes.net/2022/10/folien-meiner-sessions-auf-den-sqldays-2022/</link>
					<comments>https://www.hertes.net/2022/10/folien-meiner-sessions-auf-den-sqldays-2022/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Thu, 20 Oct 2022 06:44:31 +0000</pubDate>
				<category><![CDATA[Arbeit]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Veranstaltungen]]></category>
		<category><![CDATA[Erding]]></category>
		<category><![CDATA[Folien]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[Slides]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[sqlDays]]></category>
		<guid isPermaLink="false">https://www.hertes.net/?p=4177</guid>

					<description><![CDATA[Für alle Teilnehmer und andere Interessierte habe ich hier meine Folien von den diesjährigen sqlDays in Erding abegelegt: https://github.com/HaikoHertes/slides/tree/master/sqlDays2022 Viel Spaß damit! Die Videos werden noch ein paar Tage Zeit brauchen&#8230; #sqlDays #Azure #Konferenz]]></description>
										<content:encoded><![CDATA[
<p>Für alle Teilnehmer und andere Interessierte habe ich hier meine Folien von den diesjährigen sqlDays in Erding abegelegt:</p>



<p><a href="https://github.com/HaikoHertes/slides/tree/master/sqlDays2022">https://github.com/HaikoHertes/slides/tree/master/sqlDays2022</a></p>



<figure class="wp-block-image size-large"><a href="https://www.hertes.net/wp-content/uploads/2022/10/LinkedInSprecherPost_HaikoHertes.png"><img fetchpriority="high" decoding="async" width="1024" height="535" src="https://www.hertes.net/wp-content/uploads/2022/10/LinkedInSprecherPost_HaikoHertes-1024x535.png" alt="" class="wp-image-4178" srcset="https://www.hertes.net/wp-content/uploads/2022/10/LinkedInSprecherPost_HaikoHertes-1024x535.png 1024w, https://www.hertes.net/wp-content/uploads/2022/10/LinkedInSprecherPost_HaikoHertes-300x157.png 300w, https://www.hertes.net/wp-content/uploads/2022/10/LinkedInSprecherPost_HaikoHertes-768x401.png 768w, https://www.hertes.net/wp-content/uploads/2022/10/LinkedInSprecherPost_HaikoHertes.png 1417w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Viel Spaß damit! Die Videos werden noch ein paar Tage Zeit brauchen&#8230;</p>



<p>#sqlDays #Azure #Konferenz</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2022/10/folien-meiner-sessions-auf-den-sqldays-2022/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Slides meiner Sessions der sqlDays 2021 in Erding</title>
		<link>https://www.hertes.net/2021/10/slides-meiner-sessions-der-sqldays-2021-in-erding/</link>
					<comments>https://www.hertes.net/2021/10/slides-meiner-sessions-der-sqldays-2021-in-erding/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Wed, 13 Oct 2021 08:32:41 +0000</pubDate>
				<category><![CDATA[Arbeit]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Konferenzen]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Veranstaltungen]]></category>
		<category><![CDATA[Azure SQL]]></category>
		<category><![CDATA[Konferenz]]></category>
		<category><![CDATA[sqlDays]]></category>
		<category><![CDATA[Veranstaltung]]></category>
		<guid isPermaLink="false">https://www.hertes.net/?p=4124</guid>

					<description><![CDATA[In den letzten beiden Tagen war ich als Speaker auf den sqlDays in Erding. Die Sessions hatten die Titel &#8222;Whats new with Databases on Azure?&#8220; und &#8222;Hochverfügbarkeit für Azure SQL Server VMs&#8220; Die Slides dazu findet ihr jetzt auf meinem GitHub Repo: slides/sqlDays2021 at master · HaikoHertes/slides (github.com) Sobald die Aufzeichnungen verfügbar sind, verlinke ich diese dann hier.]]></description>
										<content:encoded><![CDATA[
<p>In den letzten beiden Tagen war ich als Speaker auf den sqlDays in Erding. Die Sessions hatten die Titel</p>



<p>&#8222;Whats new with Databases on Azure?&#8220; und</p>



<p>&#8222;Hochverfügbarkeit für Azure SQL Server VMs&#8220;</p>



<figure class="wp-block-image size-large"><a href="https://www.hertes.net/wp-content/uploads/2021/10/HaikoHertesSession2.png"><img decoding="async" width="1024" height="535" src="https://www.hertes.net/wp-content/uploads/2021/10/HaikoHertesSession2-1024x535.png" alt="" class="wp-image-4125" srcset="https://www.hertes.net/wp-content/uploads/2021/10/HaikoHertesSession2-1024x535.png 1024w, https://www.hertes.net/wp-content/uploads/2021/10/HaikoHertesSession2-300x157.png 300w, https://www.hertes.net/wp-content/uploads/2021/10/HaikoHertesSession2-768x402.png 768w, https://www.hertes.net/wp-content/uploads/2021/10/HaikoHertesSession2.png 1417w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Die Slides dazu findet ihr jetzt auf meinem GitHub Repo:</p>



<p><a href="https://github.com/HaikoHertes/slides/tree/master/sqlDays2021">slides/sqlDays2021 at master · HaikoHertes/slides (github.com)</a></p>



<p>Sobald die Aufzeichnungen verfügbar sind, verlinke ich diese dann hier.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2021/10/slides-meiner-sessions-der-sqldays-2021-in-erding/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Meine Slides von den sqlDays 2020 in Erding</title>
		<link>https://www.hertes.net/2020/10/meine-slides-von-den-sqldays-2020-in-erding/</link>
					<comments>https://www.hertes.net/2020/10/meine-slides-von-den-sqldays-2020-in-erding/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Wed, 21 Oct 2020 12:00:06 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Veranstaltungen]]></category>
		<guid isPermaLink="false">https://www.hertes.net/?p=4044</guid>

					<description><![CDATA[Nur als kurzer Eintrag &#8211; wer sich für meine Slides von der sqlDays 2020 Konferenz in Erding interessiert findet diese ab jetzt auf meinem GitHub Repo: https://github.com/HaikoHertes/slides/tree/master/sqlDays2020 Viel Spaß damit!]]></description>
										<content:encoded><![CDATA[
<p>Nur als kurzer Eintrag &#8211; wer sich für meine Slides von der sqlDays 2020 Konferenz in Erding interessiert findet diese ab jetzt auf meinem GitHub Repo:</p>



<p><a href="https://github.com/HaikoHertes/slides/tree/master/sqlDays2020">https://github.com/HaikoHertes/slides/tree/master/sqlDays2020</a></p>



<p>Viel Spaß damit!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2020/10/meine-slides-von-den-sqldays-2020-in-erding/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Azure / PowerShell – Azure SQL Performance Empfehlungen per PowerShell abholen und verteilen</title>
		<link>https://www.hertes.net/2019/03/azure-powershell-azure-sql-performance-empfehlungen-per-powershell-abholen-und-verteilen/</link>
					<comments>https://www.hertes.net/2019/03/azure-powershell-azure-sql-performance-empfehlungen-per-powershell-abholen-und-verteilen/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Wed, 27 Mar 2019 18:10:15 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Automatisierung]]></category>
		<category><![CDATA[Azure SQL]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Tuning]]></category>
		<guid isPermaLink="false">https://www.hertes.net/?p=3755</guid>

					<description><![CDATA[Azure und insbesondere Azure SQL ist klasse &#8211; es nimmt einem viele Dinge der täglichen Verwaltung ab, einiges davon sogar automatisch. Klar, das hat seinen Preis, immerhin ist Azure SQL nicht ganz billig, aber wenn man es schon bezahlt, dann kann man auch seine Fähigkeiten nutzen. Eine davon ist, automatisch anhand der Nutzung einer Datenbank Empfehlungen für die Leistungsoptimierung zu geben. Diese kann man sich im UI bzw. dem Azure Portal anschauen. Dazu öffnet man entweder links im Blade den Punkt &#8222;Recommondations&#8220; unterhalb von &#8222;Intelligent Performance&#8220; oder den Punkt &#8222;Performance&#8220; auf der Main-Page bei den Notifications: Dort sieht man dann&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Azure und insbesondere Azure SQL ist klasse &#8211; es nimmt einem viele Dinge der täglichen Verwaltung ab, einiges davon sogar automatisch. Klar, das hat seinen Preis, immerhin ist Azure SQL nicht ganz billig, aber wenn man es schon bezahlt, dann kann man auch seine Fähigkeiten nutzen. Eine davon ist, automatisch anhand der Nutzung einer Datenbank Empfehlungen für die Leistungsoptimierung zu geben. Diese kann man sich im UI bzw. dem Azure Portal anschauen. Dazu öffnet man entweder links im Blade den Punkt &#8222;Recommondations&#8220; unterhalb von &#8222;Intelligent Performance&#8220; oder den Punkt &#8222;Performance&#8220; auf der Main-Page bei den Notifications:</p>



<figure class="wp-block-image"><img decoding="async" width="1024" height="501" src="https://www.hertes.net/wp-content/uploads/2019/03/image-1024x501.png" alt="" class="wp-image-3756" srcset="https://www.hertes.net/wp-content/uploads/2019/03/image-1024x501.png 1024w, https://www.hertes.net/wp-content/uploads/2019/03/image-300x147.png 300w, https://www.hertes.net/wp-content/uploads/2019/03/image-768x375.png 768w, https://www.hertes.net/wp-content/uploads/2019/03/image.png 1921w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Dort sieht man dann einige Empfehlungen aufgeführt (vorausgesetzt, Azure hat etwas gefunden, was wiederum eine regelmäßige Nutzung der Datenbank voraussetzt):</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="482" src="https://www.hertes.net/wp-content/uploads/2019/03/image-2-1024x482.png" alt="" class="wp-image-3758" srcset="https://www.hertes.net/wp-content/uploads/2019/03/image-2-1024x482.png 1024w, https://www.hertes.net/wp-content/uploads/2019/03/image-2-300x141.png 300w, https://www.hertes.net/wp-content/uploads/2019/03/image-2-768x361.png 768w, https://www.hertes.net/wp-content/uploads/2019/03/image-2.png 1721w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Diese Daten kann man sich auch automatisch abrufen und auf Wunsch dann z.B. an die Entwickler verteilen. Dazu bediene ich mich einfach der PowerShell:</p>



<pre lang="PowerShell" line="1">
$ErrorActionPreference = "Stop"
$SubscriptionId = "YOUR_SUBSCRIPTION_ID"

function Get-SQLServerRecommendations()
{
    # Define the resource types
    $resourceTypes = ("Microsoft.Sql/servers/databases")
    $advisors = ("CreateIndex", "DropIndex","DbParameterization","SchemaIssue");
    $results = @()

    # Loop through all subscriptions
   
    $rgs = Get-AzureRmResourceGroup

    # Loop through all resource groups
    foreach($rg in $rgs) {
        $rgname = $rg.ResourceGroupName;

        # Loop through all resource types
        foreach($resourceType in $resourceTypes) {
            $resources = Get-AzureRmResource -ResourceGroupName $rgname -ResourceType $resourceType

            # Loop through all databases
            # Extract resource groups, servers and databases
            foreach ($resource in $resources) {
                $resourceId = $resource.ResourceId
                if ($resourceId -match ".*RESOURCEGROUPS/(?<content>.*)/PROVIDERS.*") {
                    $ResourceGroupName = $matches['content']
                } else {
                    continue
                }
                if ($resourceId -match ".*SERVERS/(?<content>.*)/DATABASES.*") {
                    $ServerName = $matches['content']
                } else {
                    continue
                }
                if ($resourceId -match ".*/DATABASES/(?<content>.*)") {
                    $DatabaseName = $matches['content']
                } else {
                    continue
                }

                # Skip if master
                if ($DatabaseName -eq "master") {
                    continue
                }

                # Loop through all Automatic tuning recommendation types
                foreach ($advisor in ($advisors -notmatch "SchemaIssue")) {
                    $recs = Get-AzureRmSqlDatabaseRecommendedAction -ResourceGroupName $ResourceGroupName -ServerName $ServerName  -DatabaseName $DatabaseName -AdvisorName $advisor
                    foreach ($r in $recs) {
                        if ($r.State.CurrentValue -eq "Active") {
                            $object = New-Object -TypeName PSObject
                            $object | Add-Member -Name 'SubscriptionId' -MemberType Noteproperty -Value $subscriptionId
                            $object | Add-Member -Name 'ResourceGroupName' -MemberType Noteproperty -Value $r.ResourceGroupName
                            $object | Add-Member -Name 'ServerName' -MemberType Noteproperty -Value $r.ServerName
                            $object | Add-Member -Name 'DatabaseName' -MemberType Noteproperty -Value $r.DatabaseName
                            $object | Add-Member -Name 'Advisor' -MemberType Noteproperty -Value $advisor
                            $object | Add-Member -Name 'Script' -MemberType Noteproperty -Value $r.ImplementationDetails.Script
                            $results += $object
                        }
                    }
                }
            }
        }
    }
    Return $results
}

$AzurePasswordSecure = ConvertTo-SecureString "$($YOUR_AZURE_PASSWORD)" -AsPlainText -Force
$AzureCredentials = New-Object System.Management.Automation.PSCredential ("$YOUR_AZURE_USER", $AzurePasswordSecure)
Connect-AzureRmAccount -Credential $AzureCredentials | Out-Null
Select-AzureRmSubscription -Subscription $SubscriptionId | Out-Null

$Recommendations = Get-SQLServerRecommendations
$table = $Recommendations | Sort-Object DatabaseName,Advisor | Format-Table Databasename,Advisor,Script -AutoSize -Wrap
Write-Output $table

$head = "<style>
td {background-color:lightgrey;}
table {width:100%;}
th {font-size:14pt;background-color:lightblue;}
</style>
<title>SQL Server performance recommendations</title>"

[string]$html = $Recommendations | ConvertTo-Html -Property Databasename,Advisor,Script -Body "<h1>Azure SQL Server automatic tuning recommendations for $stage</h1>Auto-generated by PUT_SOMETHING_HERE<br><br>" -Head $head

Send-MailMessage -Body $html -SmtpServer YOUR.SMTPSERVER.COM -From sender@domain.com -To recipient@domain.com -Subject "MS SQL Recommendations - $(Get-Date -Format "yyyy-dd-MM HH:mm:ss")" -BodyAsHtml
</pre>



<p></p>



<p>Dieses Script wiederum kann man dann z.B. per Jenkins regelmäßig auslösen. Oder alternativ ein Azure Automation Runbook dafür anlegen&#8230; Viel Spaß beim Ausprobieren!</p>



<p>Die Mails sehen dann in etwa so aus:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="802" height="896" src="https://www.hertes.net/wp-content/uploads/2019/03/image-3.png" alt="" class="wp-image-3760" srcset="https://www.hertes.net/wp-content/uploads/2019/03/image-3.png 802w, https://www.hertes.net/wp-content/uploads/2019/03/image-3-269x300.png 269w, https://www.hertes.net/wp-content/uploads/2019/03/image-3-768x858.png 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2019/03/azure-powershell-azure-sql-performance-empfehlungen-per-powershell-abholen-und-verteilen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SCOM: Probleme beim Setup von SCOM 2012 R2 &#8211; hier: Reporting Server</title>
		<link>https://www.hertes.net/2013/12/scom-probleme-beim-setup-von-scom-2012-r2-hier-reporting-server/</link>
					<comments>https://www.hertes.net/2013/12/scom-probleme-beim-setup-von-scom-2012-r2-hier-reporting-server/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Mon, 16 Dec 2013 20:32:47 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[System Center Operations Manager]]></category>
		<category><![CDATA[SCOM]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SSRS]]></category>
		<guid isPermaLink="false">http://www.hertes.net/?p=2104</guid>

					<description><![CDATA[Die Installation von SCOM (System Center Operations Manager) 2012 R2 ist eigentlich nicht sehr schwer – jedoch gibt es einige potentielle “Stolpersteine”, wenn man die Reporting-Komponente nutzen möchte. Selbst bei installiertem SSRS (SQL Server Reporting Service) können diverse Fehler auftreten, die ich hier mit samt ihrer Lösung vorstellen möchte. Zunächst einmal kann folgende Fehlermeldung auftauchen, die verschiedene Gründe haben könnte: Mögliche Fehler: SSRS sind nicht installiert (trivial) Reporting Services Webdienst-URL ist nicht konfiguriert (Durchaus denkbar, direkt nach dem Setup) Keine SSRS-Datenbank angelegt (kann nach dem Setup auch gut möglich sein) Keine Berichts-Manager-URL konfiguriert (vor allem wenn noch keine Webdienst-URL gesetzt&#8230;]]></description>
										<content:encoded><![CDATA[<p>Die Installation von SCOM (System Center Operations Manager) 2012 R2 ist eigentlich nicht sehr schwer – jedoch gibt es einige potentielle “Stolpersteine”, wenn man die Reporting-Komponente nutzen möchte. Selbst bei installiertem SSRS (SQL Server Reporting Service) können diverse Fehler auftreten, die ich hier mit samt ihrer Lösung vorstellen möchte.</p>
<p>Zunächst einmal kann folgende Fehlermeldung auftauchen, die verschiedene Gründe haben könnte:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs1.png"><img loading="lazy" decoding="async" title="scom2012ssrs1" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" border="0" alt="scom2012ssrs1" src="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs1_thumb.png" width="638" height="484" /></a></p>
<p>Mögliche Fehler:</p>
<ul>
<li>SSRS sind nicht installiert (trivial)</li>
<li>Reporting Services Webdienst-URL ist nicht konfiguriert (Durchaus denkbar, direkt nach dem Setup)</li>
<li>Keine SSRS-Datenbank angelegt (kann nach dem Setup auch gut möglich sein)</li>
<li>Keine Berichts-Manager-URL konfiguriert (vor allem wenn noch keine Webdienst-URL gesetzt wurde normal)</li>
</ul>
<p>Ob einer der Fehler vorliegt lässt sich recht einfach mit Hilfe des “Konfigurations-Manager für Reporting Services” prüfen:</p>
<p>Hier ist beispielsweise keine Webdienst-URL gesetzt (zweiter Fall): </p>
<p><a href="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs2.png"><img loading="lazy" decoding="async" title="scom2012ssrs2" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" border="0" alt="scom2012ssrs2" src="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs2_thumb.png" width="643" height="484" /></a></p>
<p>Das Ganze sollte so aussehen (wenn dies erst gerade geschehen ist, sollte die rot markierte Meldung zu sehen sein):</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs3.png"><img loading="lazy" decoding="async" title="scom2012ssrs3" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" border="0" alt="scom2012ssrs3" src="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs3_thumb.png" width="643" height="484" /></a></p>
<p>Dritter Fall: Keine Datenbank. Das sieht dann so aus:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs4.png"><img loading="lazy" decoding="async" title="scom2012ssrs4" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" border="0" alt="scom2012ssrs4" src="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs4_thumb.png" width="642" height="484" /></a></p>
<p>Durch einen Klick auf “Datenbank ändern” kann man mit Hilfe von “Neue Berichtsserver-Datenbank erstellen” und der Standardwerte eine neue DB samt TempDB anlegen. Das sollte am Ende so aussehen:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs6.png"><img loading="lazy" decoding="async" title="scom2012ssrs6" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" border="0" alt="scom2012ssrs6" src="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs6_thumb.png" width="643" height="484" /></a></p>
<p>Vierter Fall: Berichts-Manager-URL ist noch nicht konfiguriert; sieht so aus:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs7.png"><img loading="lazy" decoding="async" title="scom2012ssrs7" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" border="0" alt="scom2012ssrs7" src="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs7_thumb.png" width="643" height="484" /></a></p>
<p>Durch “Anwenden” lässt sich dies korrigieren und sieht danach so aus:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs8.png"><img loading="lazy" decoding="async" title="scom2012ssrs8" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" border="0" alt="scom2012ssrs8" src="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs8_thumb.png" width="643" height="484" /></a></p>
<p>Zurück im Setup das SCOM2012R2 kann man nun erneut sein Glück versuchen, jedoch könnte nun folgender Fehler auftauchen, dessen Meldung man nur sieht, wenn man mit dem Mauszeiger über das rote Kreuz fährt:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs9.png"><img loading="lazy" decoding="async" title="scom2012ssrs9" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" border="0" alt="scom2012ssrs9" src="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs9_thumb.png" width="638" height="484" /></a></p>
<p>Die Meldung ist zum Glück sehr aussagekräftig, so dass ein Blick in services.msc (Dienste) recht schnell Klarheit bringt:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs10.png"><img loading="lazy" decoding="async" title="scom2012ssrs10" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" border="0" alt="scom2012ssrs10" src="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs10_thumb.png" width="644" height="355" /></a></p>
<p>Der SQL Agent Dienst sollte auf Autostart stehen und muss zum Zeitpunkt der Installation laufen, also so:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs11.png"><img loading="lazy" decoding="async" title="scom2012ssrs11" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin: 0px auto; border-left: 0px; display: block; padding-right: 0px" border="0" alt="scom2012ssrs11" src="https://www.hertes.net/wp-content/uploads/2013/12/scom2012ssrs11_thumb.png" width="644" height="355" /></a></p>
<p>Das sind nun also die häufigsten Fehler und ihre eigentlich recht einfache Lösung; ich hoffe, das Ganze ist für die Problemlösung hilfreich.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2013/12/scom-probleme-beim-setup-von-scom-2012-r2-hier-reporting-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SCCM2012: Durch SEDO dauerhaft gesperrte Tasksequenzen entsperren</title>
		<link>https://www.hertes.net/2013/05/sccm2012-durch-sedo-dauerhaft-gesperrte-tasksequenzen-entsperren/</link>
					<comments>https://www.hertes.net/2013/05/sccm2012-durch-sedo-dauerhaft-gesperrte-tasksequenzen-entsperren/#comments</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Fri, 31 May 2013 12:59:05 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[System Center Configuration Manager]]></category>
		<category><![CDATA[OSD]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SEDO]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tasksequenz]]></category>
		<guid isPermaLink="false">http://www.hertes.net/?p=1673</guid>

					<description><![CDATA[SEDO (Serialized Editing of Distributed Objects) soll im SCCM2012-Umfeld möglich machen, dass mehrere Admins gleichzeitig arbeiten, ohne sich gegenseitig in die Quere zu kommen. Wenn unter SCCM2007 ein Admin eine Tasksequenz bearbeitet hat, die noch bei einem anderen Admin zur Bearbeitung geöffnet war, dann &#8222;gewann&#8220; derjenige, der zuletzt gespeichert hat, was mitunter sehr ärgerlich war. Unter SCCM 2012 werden nun Tasksequenzen, die zum Bearbeiten geöffnet sind, gesperrt. Diese an sich sehr nützlich Funktion kann aber auch zu einem Problem werden. Die Sperre sollte nach 30 Minuten &#8222;Inaktivität&#8220; automatisch aufgehoben werden. Da dies aber ein Vorgang ist, den die SCCM-Konsole durchführt,&#8230;]]></description>
										<content:encoded><![CDATA[<p>SEDO (Serialized Editing of Distributed Objects) soll im SCCM2012-Umfeld möglich machen, dass mehrere Admins gleichzeitig arbeiten, ohne sich gegenseitig in die Quere zu kommen. Wenn unter SCCM2007 ein Admin eine Tasksequenz bearbeitet hat, die noch bei einem anderen Admin zur Bearbeitung geöffnet war, dann &#8222;gewann&#8220; derjenige, der zuletzt gespeichert hat, was mitunter sehr ärgerlich war.</p>
<p>Unter SCCM 2012 werden nun Tasksequenzen, die zum Bearbeiten geöffnet sind, gesperrt. Diese an sich sehr nützlich Funktion kann aber auch zu einem Problem werden. Die Sperre sollte nach 30 Minuten &#8222;Inaktivität&#8220; automatisch aufgehoben werden. Da dies aber ein Vorgang ist, den die SCCM-Konsole durchführt, kann es passieren, das eine gesperrte Tasksequenz dauerhaft gesperrt bleibt, wenn z.B. die Konsole abgestürzt ist.</p>
<p>Für die Sperrung ist die SQL-Tabelle SEDO_LockState zuständig.</p>
<p>Gesperrte Tasksequenzen kann man z.B. mit folgendem SQL-Statement abfragen:</p>
<pre lang="SQL" line="1">Select * FROM SEDO_LockState WHERE LockStateID != 0</pre>
<p><a href="https://www.hertes.net/wp-content/uploads/2013/05/TS_Screen2.png"><img decoding="async" class="aligncenter size-full wp-image-1683" alt="TS_Screen2" src="https://www.hertes.net/wp-content/uploads/2013/05/TS_Screen2.png" width="800" srcset="https://www.hertes.net/wp-content/uploads/2013/05/TS_Screen2.png 1160w, https://www.hertes.net/wp-content/uploads/2013/05/TS_Screen2-300x135.png 300w, https://www.hertes.net/wp-content/uploads/2013/05/TS_Screen2-1024x463.png 1024w" sizes="(max-width: 1160px) 100vw, 1160px" /></a></p>
<p>Das eine Tasksequenz gesperrt ist, wird auch beim Versuch, diese zu bearbeiten angezeigt:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2013/05/TS_Error.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1675" alt="TS_Error" src="https://www.hertes.net/wp-content/uploads/2013/05/TS_Error.png" width="700" height="301" srcset="https://www.hertes.net/wp-content/uploads/2013/05/TS_Error.png 700w, https://www.hertes.net/wp-content/uploads/2013/05/TS_Error-300x129.png 300w" sizes="auto, (max-width: 700px) 100vw, 700px" /></a></p>
<p>Um nun eine Entsperrung zu erzwingen, ist folgendes SQL-Statement geeignet:</p>
<pre lang="SQL" line="1">UPDATE [CM_LPZ].[dbo].[SEDO_LockState]
SET [LockStateID] = 0
,[AssignedUser] = NULL
,[AssignedObjectLockContext] = NULL
,[AssignedMachine] = NULL
,[AssignmentTime] = NULL

WHERE [LockStateID] = '1'
GO</pre>
<p>(das &#8222;LPZ&#8220; in &#8222;CM_LPZ&#8220; ist durch den Sitecode zu ersetzen)</p>
<p>Aber Achtung: Microsoft unterstützt das manuelle Ändern der SQL-Datenbank nicht &#8211; ihr solltet also genau wissen, was ihr da tut!</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2013/05/TS_Lösung.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1674" alt="TS_Lösung" src="https://www.hertes.net/wp-content/uploads/2013/05/TS_Lösung.png" width="792" height="411" srcset="https://www.hertes.net/wp-content/uploads/2013/05/TS_Lösung.png 792w, https://www.hertes.net/wp-content/uploads/2013/05/TS_Lösung-300x155.png 300w" sizes="auto, (max-width: 792px) 100vw, 792px" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2013/05/sccm2012-durch-sedo-dauerhaft-gesperrte-tasksequenzen-entsperren/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Speicherhunger der WSUS-Datenbank (WID) begrenzen</title>
		<link>https://www.hertes.net/2013/04/speicherhunger-der-wsus-datenbank-wid-begrenzen/</link>
					<comments>https://www.hertes.net/2013/04/speicherhunger-der-wsus-datenbank-wid-begrenzen/#comments</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Tue, 02 Apr 2013 13:02:22 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[Arbeitsspeicher]]></category>
		<category><![CDATA[WID]]></category>
		<category><![CDATA[WSUS]]></category>
		<guid isPermaLink="false">http://www.hertes.net/?p=1534</guid>

					<description><![CDATA[Insbesondere in kleinen und mittleren Unternehmen läuft der Windows Server Update Service (WSUS) nicht auf einem vollwertigen SQL-Server, sondern auf einer Windows Internal Database, welche bereits Bestandteil des Windows Server 2008 (R2) ist, und somit direkt bei der Installation von WSUS mitinstalliert werden kann. Das Problem: Wenn es um Arbeitsspeicher geht, verhält sich die WID wie ein &#8222;großer&#8220; SQL-Server &#8211; sie nimmt was sie bekommen kann. Dieses Verhalten lässt sich beim regulären SQL-Server u.a. mit dem SQL Server Management Studio beeinflussen. Dieses Programm ist allerdings nicht Bestandteil der WID-Installation. Die Lösung: Das frei erhältliche SQL Management Studio Express bietet genau&#8230;]]></description>
										<content:encoded><![CDATA[<p>Insbesondere in kleinen und mittleren Unternehmen läuft der Windows Server Update Service (WSUS) nicht auf einem vollwertigen SQL-Server, sondern auf einer Windows Internal Database, welche bereits Bestandteil des Windows Server 2008 (R2) ist, und somit direkt bei der Installation von WSUS mitinstalliert werden kann.</p>
<p><span style="text-decoration: underline;">Das Problem:</span> Wenn es um Arbeitsspeicher geht, verhält sich die WID wie ein &#8222;großer&#8220; SQL-Server &#8211; sie nimmt was sie bekommen kann.</p>
<p>Dieses Verhalten lässt sich beim regulären SQL-Server u.a. mit dem SQL Server Management Studio beeinflussen. Dieses Programm ist allerdings nicht Bestandteil der WID-Installation.</p>
<p>Die Lösung: Das frei erhältliche <a href="http://www.microsoft.com/de-de/download/details.aspx?id=8961" target="_blank">SQL Management Studio Express</a> bietet genau diese Möglichkeiten.</p>
<p>Vorgehensweise:</p>
<h3>1. SQL Management Studio Express downoaden</h3>
<p><a href="http://www.microsoft.com/de-de/download/details.aspx?id=8961">http://www.microsoft.com/de-de/download/details.aspx?id=8961</a></p>
<h3>2. SQL Management Studio Express installieren</h3>
<p>Ist nicht weiter schwer, einfach den Setup-Assistenten benutzen&#8230;</p>
<h3>3. Verbindung zur WID aufbauen</h3>
<p>Dazu muss das Management Studio u.U. als Administrator ausgeführt werden. Als Verbindungsziel wird</p>
<p><cite>\\.\pipe\mssql$microsoft##ssee\sql\query</cite></p>
<p>verwendet.</p>
<h3>4a. Konfiguration mittels T-SQL</h3>
<p>Nun müssen folgende beiden T-SQL Abfragen ausgeführt werden:</p>
<p>sp_configure &#8217;show advanced options&#8216;, 1;<br />
reconfigure;<br />
go</p>
<p>&#8222;Ausführen&#8220; anklicken</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2012/11/Query1_crop.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1540" title="Query1_crop" alt="" src="https://www.hertes.net/wp-content/uploads/2012/11/Query1_crop.png" width="852" height="365" srcset="https://www.hertes.net/wp-content/uploads/2012/11/Query1_crop.png 852w, https://www.hertes.net/wp-content/uploads/2012/11/Query1_crop-300x128.png 300w" sizes="auto, (max-width: 852px) 100vw, 852px" /></a></p>
<p>sp_configure &#8218;max server memory&#8216;, 256;<br />
reconfigure;<br />
go</p>
<p>(Den Wert 256 durch das gewünschte Maximum ersetzen )</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2012/11/Query2_crop.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1541" title="Query2_crop" alt="" src="https://www.hertes.net/wp-content/uploads/2012/11/Query2_crop.png" width="853" height="363" srcset="https://www.hertes.net/wp-content/uploads/2012/11/Query2_crop.png 853w, https://www.hertes.net/wp-content/uploads/2012/11/Query2_crop-300x127.png 300w" sizes="auto, (max-width: 853px) 100vw, 853px" /></a></p>
<p>&#8222;Ausführen&#8220; anklicken</p>
<h3>4b. Konfiguration mittels GUI</h3>
<p>Rechtsklick auf den obersten Eintrag im Objekt-Explorer, im Kontextmenü &#8222;Eigenschaften&#8220; auswählen</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2012/11/ALternative1_crop.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1538" title="ALternative1_crop" alt="" src="https://www.hertes.net/wp-content/uploads/2012/11/ALternative1_crop.png" width="847" height="424" srcset="https://www.hertes.net/wp-content/uploads/2012/11/ALternative1_crop.png 847w, https://www.hertes.net/wp-content/uploads/2012/11/ALternative1_crop-300x150.png 300w" sizes="auto, (max-width: 847px) 100vw, 847px" /></a></p>
<p>Im neu geöffneten Fenster den Bereich &#8222;Arbeitsspeicher&#8220; wählen und dort den minimalen und den maximalen Speicherwert eintragen.</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2012/11/ALternative2_crop.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1539" title="ALternative2_crop" alt="" src="https://www.hertes.net/wp-content/uploads/2012/11/ALternative2_crop.png" width="971" height="330" srcset="https://www.hertes.net/wp-content/uploads/2012/11/ALternative2_crop.png 971w, https://www.hertes.net/wp-content/uploads/2012/11/ALternative2_crop-300x101.png 300w" sizes="auto, (max-width: 971px) 100vw, 971px" /></a></p>
<p style="text-align: left;">Das war es schon gewesen. Evtl. muss die Datenbank neu gestartet werden&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2013/04/speicherhunger-der-wsus-datenbank-wid-begrenzen/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>SQL-Server auf System Center Configuration Manager 2012 (SCCM) Server startet nach SYSPREP nicht mehr</title>
		<link>https://www.hertes.net/2012/07/sql-server-auf-system-center-configuration-manager-2012-sccm-server-startet-nach-sysprep-nicht-mehr/</link>
					<comments>https://www.hertes.net/2012/07/sql-server-auf-system-center-configuration-manager-2012-sccm-server-startet-nach-sysprep-nicht-mehr/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Thu, 12 Jul 2012 10:13:33 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[System Center Configuration Manager]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[System Center]]></category>
		<guid isPermaLink="false">http://www.hertes.net/?p=1477</guid>

					<description><![CDATA[Auf einem Test-Server für eine System Center Configuration Manager 2012 Umgebung lief auch der dazu notwendige SQL-Server. Da die Hardware einen Defekt aufwies, musste ich das System auf eine neue Hardware umziehen. Problematisch: Alte und neue Hardware waren derart verschieden, dass hier Probleme zu erwarten gewesen wären, wenn ich die Platten einfach nur umgesteckt hätte. Also habe ich vorher einen Sysprep inkl. /generalize laufen lassen. Nach dem Umbau der Festplatten in den neuen Server startete dieser Anstandslos. Das Problem: Die SQL-Server-Dienste starteten nicht! Problem: Durch den SYSPREP sind die privaten Schlüssel für die SSL-Kommunikation verloren gegangen, da der alte User-Account&#8230;]]></description>
										<content:encoded><![CDATA[<p>Auf einem Test-Server für eine System Center Configuration Manager 2012 Umgebung lief auch der dazu notwendige SQL-Server. Da die Hardware einen Defekt aufwies, musste ich das System auf eine neue Hardware umziehen. Problematisch: Alte und neue Hardware waren derart verschieden, dass hier Probleme zu erwarten gewesen wären, wenn ich die Platten einfach nur umgesteckt hätte. Also habe ich vorher einen Sysprep inkl. /generalize laufen lassen. Nach dem Umbau der Festplatten in den neuen Server startete dieser Anstandslos. Das Problem: Die SQL-Server-Dienste starteten nicht!</p>
<p><span style="text-decoration: underline;">Problem:</span></p>
<p>Durch den SYSPREP sind die privaten Schlüssel für die SSL-Kommunikation verloren gegangen, da der alte User-Account ja danach nicht mehr vorhanden war. Dies war u.a. im Logfile &#8222;<em>C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG</em>&#8220; nachzulesen:</p>
<pre>"The server could not load the certificate it needs to initiate an SSL connection. It returned the following error: 0x8009030d [...]"</pre>
<p><span style="text-decoration: underline;">Lösung:</span></p>
<p>Im &#8222;SQL Server Configuration Manager&#8220; die Zuordnung zum alten Zertifikat löschen:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2012/07/SQLConfigMgr_Cert2.png"><img loading="lazy" decoding="async" class="size-medium wp-image-1478 alignleft" title="SQLConfigMgr_Cert2" src="https://www.hertes.net/wp-content/uploads/2012/07/SQLConfigMgr_Cert2-300x228.png" alt="" width="300" height="228" srcset="https://www.hertes.net/wp-content/uploads/2012/07/SQLConfigMgr_Cert2-300x228.png 300w, https://www.hertes.net/wp-content/uploads/2012/07/SQLConfigMgr_Cert2.png 517w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Nach einem Reboot des Servers generiert dieser ein neues Zertifikat und trägt dieses hier entsprechend ein (Es existieren dann 2 Zertifikate mit gleichem Namen, man kann sie aber u.a. am Ausstellungsdatum unterscheiden).</p>
<p>Dieses neue Zertifikat muss nun noch zu den &#8222;Vertrauenswürdigen Stammzertifizierungsstellen&#8220; hinzugefügt werden bzw. evtl. den Clients als vertrauenswürdig bekanntgegeben werden. Danach sollte alles wieder funktionieren, im Logfile steht dann:</p>
<pre>"A self-generaterd certificate was successfully loaded for encryption. [...]"</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2012/07/sql-server-auf-system-center-configuration-manager-2012-sccm-server-startet-nach-sysprep-nicht-mehr/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
