<?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>pmd media &#187; SQL</title>
	<atom:link href="http://blog.pmd-media.com/tag/sql/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.pmd-media.com</link>
	<description>it-consulting &#38; development</description>
	<lastBuildDate>Tue, 10 Jan 2012 10:15:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Microsoft Data Protection Manager: Berichterstellung reparieren</title>
		<link>http://blog.pmd-media.com/2010/07/20/microsoft-data-protection-manager-berichterstellung-reparieren</link>
		<comments>http://blog.pmd-media.com/2010/07/20/microsoft-data-protection-manager-berichterstellung-reparieren#comments</comments>
		<pubDate>Tue, 20 Jul 2010 08:42:49 +0000</pubDate>
		<dc:creator>Frank Piotrowsky</dc:creator>
				<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[2007]]></category>
		<category><![CDATA[Data Protection Manager]]></category>
		<category><![CDATA[DPM]]></category>
		<category><![CDATA[IIS7]]></category>
		<category><![CDATA[Internet Information Server]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[System Center]]></category>

		<guid isPermaLink="false">http://blog.pmd-media.com/?p=580</guid>
		<description><![CDATA[
			
				
			
		
In diesem Post reparieren wir die Berichterstellung eines Microsoft System Center Data Protection Managers 2007. Hier die Konfiguration der Maschine:

Microsoft Windows Server 2008
Microsoft System Center Data Protection Manager
Microsoft Internet Information Server 7 (IIS7)
Microsoft SQL Server Express

Bei Klick auf die Berichterstellung erscheint die folgende Fehlermeldung:
&#8220;Aufgrund von IIS-Konnektivitätsproblemen konnte keine Verbindung mit dem SQL Server Reporting Services-Server [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pmd-media.com%2F2010%2F07%2F20%2Fmicrosoft-data-protection-manager-berichterstellung-reparieren"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pmd-media.com%2F2010%2F07%2F20%2Fmicrosoft-data-protection-manager-berichterstellung-reparieren&amp;source=FPiotrowsky&amp;style=normal&amp;service=bit.ly&amp;service_api=R_2ada418849661b0a351ca4eaa9f13404&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>In diesem Post reparieren wir die Berichterstellung eines Microsoft System Center Data Protection Managers 2007. Hier die Konfiguration der Maschine:</p>
<ul>
<li>Microsoft Windows Server 2008</li>
<li>Microsoft System Center Data Protection Manager</li>
<li>Microsoft Internet Information Server 7 (IIS7)</li>
<li>Microsoft SQL Server Express</li>
</ul>
<p>Bei Klick auf die Berichterstellung erscheint die folgende Fehlermeldung:</p>
<p><div id="attachment_558" class="wp-caption alignleft" style="width: 210px"><a rel="facebox" href="http://www.pmd-media.com/wp-content/uploads/2010/07/001-ErrorMessage.jpg" rel="facebox"><img class="size-full wp-image-558 " title="IIS-Konnektivitäts-Fehlermeldung vom SQL Server Services-Server" src="http://www.pmd-media.com/wp-content/uploads/2010/07/thumb_001-ErrorMessage.jpg" alt="IIS-Konnektivitäts-Fehlermeldung vom SQL Server Services-Server" width="200" height="150" /></a><p class="wp-caption-text">IIS-Konnektivitäts-Fehlermeldung vom SQL Server Services-Server</p></div></p>
<p><em>&#8220;Aufgrund von IIS-Konnektivitätsproblemen konnte keine Verbindung mit dem SQL Server Reporting Services-Server hergestellt werden.</em></p>
<p><em><span style="color: #808080;"> Starten Sie auf dem Computer, auf dem die DPM-Datenbank erstellt wurde, den WWW-Publishingdienst neu. Klicken Sie im Menü &#8216;Verwaltung&#8217; auf &#8216;Dienste&#8217;. Klicken Sie mit der rechten Maustaste auf &#8216;WWW-Publishingdienst&#8217;, und klicken Sie dann auf &#8216;Starten&#8217;.<br />
ID: 3013&#8243;</span></em></p>
<p>Diese Fehlermeldung enthält die Anweisung, den WWW-Publishingdienst neu zu starten. Das funktioniert allerdings nicht. Im Video unten finden Sie die Fehleranalyse und Durchführung, aus Platzgründen finden Sie hier nur den Lösungsweg.</p>
<h3>Die Lösung</h3>
<p>Die Lösung des Problems liegt im IIS 7 begraben.</p>
<table border="0" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td style="width: 200px;" valign="top"><a rel="facebox" href="http://www.pmd-media.com/wp-content/uploads/2010/07/002-Start-IIS7-Manager.jpg" rel="facebox"><img class="size-full wp-image-559 alignnone" title="Starte IIS7 Manager" src="http://www.pmd-media.com/wp-content/uploads/2010/07/thumb_002-Start-IIS7-Manager.jpg" alt="Starte IIS7 Manager" width="200" height="150" /></a></td>
<td style="width: 100%;">Starten Sie den Internetinformationsdienste Manger</td>
</tr>
<tr>
<td valign="top"><a rel="facebox" href="http://www.pmd-media.com/wp-content/uploads/2010/07/003-IIS7-ReportServer.jpg" rel="facebox"><img class="alignnone size-full wp-image-560" title="Überprüfe IIS7 ReportServer-Verzeichnis" src="http://www.pmd-media.com/wp-content/uploads/2010/07/thumb_003-IIS7-ReportServer.jpg" alt="Überprüfe IIS7 ReportServer-Verzeichnis" width="200" height="150" /></a></td>
<td>Überprüfen Sie dann das Verzeichnis des SQL Server Report Services Server, um den Pfad dorthin zu bestimmen. Befindet er sich unterhalb der Default-Website dann lautet er in etwa so:</p>
<p>http://localhost/ReportServer$MS$DPM2007$</td>
</tr>
<tr>
<td valign="top"><a rel="facebox" href="http://www.pmd-media.com/wp-content/uploads/2010/07/004-ReportServer-Website.jpg" rel="facebox"><img class="alignnone size-full wp-image-561" title="Fehler auf der ReportServer-Website" src="http://www.pmd-media.com/wp-content/uploads/2010/07/thumb_004-ReportServer-Website.jpg" alt="Fehler auf der ReportServer-Website" width="200" height="150" /></a></td>
<td>Nehmen Sie dann den im vorherigen Schritt bestimmten Pfad und geben Sie ihn im Internet-Explorer des Servers ein. Sie erhalten daraufhin die links erscheinende Fehlermeldung.</td>
</tr>
<tr>
<td valign="top"><a rel="facebox" href="http://www.pmd-media.com/wp-content/uploads/2010/07/005-Handlerzuordnungen.jpg" rel="facebox"><img class="alignnone size-full wp-image-586" title="Handlerzuordnungen - hier verstecken sich die Ausführungsberechtigungen" src="http://www.pmd-media.com/wp-content/uploads/2010/07/thumb_005-Handlerzuordnungen.jpg" alt="Handlerzuordnungen - hier verstecken sich die Ausführungsberechtigungen" width="200" height="150" /></a></td>
<td>In den Handlerzuordnungen verstecken sich die Ausführungsberechtigungen, die sich im IIS6 noch auf dem Reiter Basisverzeichnis befanden. Klicken Sie also <em>Handlerzuordnungen</em> an.</td>
</tr>
<tr>
<td valign="top"><a rel="facebox" href="http://www.pmd-media.com/wp-content/uploads/2010/07/006-Featureberechtigungen.jpg" rel="facebox"><img class="alignnone size-full wp-image-587" title="Übersicht Featureberechtigungen" src="http://www.pmd-media.com/wp-content/uploads/2010/07/thumb_006-Featureberechtigungen.jpg" alt="Übersicht Featureberechtigungen" width="200" height="150" /></a></td>
<td>Dann sehen Sie eine Übersicht über die erlaubten bzw. verweigerten Ausführungsberechtigungen.</td>
</tr>
<tr>
<td valign="top"><a rel="facebox" href="http://www.pmd-media.com/wp-content/uploads/2010/07/007-Featureberechtigungen.jpg" rel="facebox"><img class="alignnone size-full wp-image-564" title="Featureberechtigungen aufrufen" src="http://www.pmd-media.com/wp-content/uploads/2010/07/thumb_007-Featureberechtigungen.jpg" alt="Featureberechtigungen aufrufen" width="200" height="150" /></a></td>
<td>Dort klicken Sie dann rechts im Menü auf <em>Featureberechtigungen bearbeiten&#8230;</em></td>
</tr>
<tr>
<td valign="top"><a rel="facebox" href="http://www.pmd-media.com/wp-content/uploads/2010/07/008-Featureberechtigungen.jpg" rel="facebox"><img class="alignnone size-full wp-image-565" title="Featureberechtigungen fehlen" src="http://www.pmd-media.com/wp-content/uploads/2010/07/thumb_008-Featureberechtigungen.jpg" alt="Featureberechtigungen fehlen" width="200" height="150" /></a></td>
<td>Sie sehen, dass die Ausführungs- bzw. Featureberechtigungen fehlen</td>
</tr>
<tr>
<td valign="top"><a href="http://www.pmd-media.com/wp-content/uploads/2010/07/009-Featureberechtigungen.jpg" rel="facebox"><img class="alignnone size-full wp-image-566" title="Featureberechtigungen gesetzt" src="http://www.pmd-media.com/wp-content/uploads/2010/07/thumb_009-Featureberechtigungen.jpg" alt="Featureberechtigungen gesetzt" width="200" height="150" /></a></td>
<td>Setzen Sie sie alle (<em>Lesen</em>, <em>Skript</em> und <em>Ausführen</em>)</td>
</tr>
<tr>
<td valign="top"><a rel="facebox" href="http://www.pmd-media.com/wp-content/uploads/2010/07/010-ReportServer-Website.jpg" rel="facebox"><img class="alignnone size-full wp-image-567" title="ReportServer-Website nach Korrektur" src="http://www.pmd-media.com/wp-content/uploads/2010/07/thumb_010-ReportServer-Website.jpg" alt="ReportServer-Website nach Korrektur" width="200" height="150" /></a></td>
<td>Nachdem Sie die Report-Server Website im Internet-Explorer aktualisiert haben (Taste <em>F5</em> drücken), sollten Sie nun die folgende Fehlermeldung sehen:</p>
<p><em><span style="color: #888888;">&#8220;Die dem Benutzer &#8216;Domäne\Benutzer&#8217; erteilten Berechtigungen reichen zum Ausführen des Vorgangs nicht aus. (rsAccessDenied)&#8221;</span></em></p>
<p>Diese Fehlermeldung ist ok, da Sie in der Regel mit dem Benutzerkonto, mit dem Sie angemeldet sind, keinen Zugriff auf die SQL Server Datenbank haben. Wenn Sie diese Meldung sehen, funktionieren die Reporting Services wieder korrekt.</td>
</tr>
<tr>
<td valign="top"><a rel="facebox" href="http://www.pmd-media.com/wp-content/uploads/2010/07/011-DPM.jpg" rel="facebox"><img class="alignnone size-full wp-image-568" title="DPM-Verwaltungskonsole mit funktionierender Berichterstattung" src="http://www.pmd-media.com/wp-content/uploads/2010/07/thumb_011-DPM.jpg" alt="DPM-Verwaltungskonsole mit funktionierender Berichterstattung" width="200" height="150" /></a></td>
<td>Wechseln Sie in der DPM-Verwaltungskonsole auf den Reiter <em>Verwaltung</em> und dann wieder zurück zu <em>Berichterstellung</em> und Sie sehen das Bild links. (Sie können natürlich auch einen anderen Reiter wählen, ich hatte <em>Verwaltung</em> nur vorgeschlagen, weil er direkt neben der <em>Berichterstellung</em> liegt und man so die Maus nicht unnütz lang bewegen muss <img src='http://www.pmd-media.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</td>
</tr>
<tr>
<td valign="top"></td>
<td></td>
</tr>
<tr>
<td valign="top"></td>
<td></td>
</tr>
</tbody>
</table>
<p>Im folgenden Video sehen Sie die Vorgehensweise, wie ich bei der Fehleranalyse vorgegangen bin.</p>
<p><span class="youtube">
<object width="480" height="360">
<param name="movie" value="http://www.youtube.com/v/Q5oXarVPODI?color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;loop=&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0&amp;rel=1&amp;hd=1" />
<param name="allowFullScreen" value="true" />
<embed wmode="opaque" src="http://www.youtube.com/v/Q5oXarVPODI?color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;loop=&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0&amp;rel=1&amp;hd=1" type="application/x-shockwave-flash" allowfullscreen="true" width="480" height="360"></embed>
<param name="wmode" value="opaque" />
</object>
</span><p><a href="http://www.youtube.com/watch?v=Q5oXarVPODI&fmt=18"><img src="http://img.youtube.com/vi/Q5oXarVPODI/default.jpg" width="130" height="97" border=0></a></p><p><a href="http://www.youtube.com/watch?v=Q5oXarVPODI&fmt=18">www.youtube.com/watch?v=Q5oXarVPODI</a></p></p>
<p>Hinterlassen Sie einen Kommentar, wie Ihnen der Artikel gefallen hat, ob Sie selbst dies oder ein ähnliches Problem hatten, ob Sie einen weiteren Lösungsweg kennen, etc. Wir schauen uns das denn gemeinsam an. Ich freue mich auf das Gespräch mit Ihnen.</p>
<div class="shr-publisher-580"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pmd-media.com/2010/07/20/microsoft-data-protection-manager-berichterstellung-reparieren/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo: Verkleinern einer Microsoft SQL Server Datenbank</title>
		<link>http://blog.pmd-media.com/2009/10/08/howto-verkleinern-einer-microsoft-sql-server-datenbank</link>
		<comments>http://blog.pmd-media.com/2009/10/08/howto-verkleinern-einer-microsoft-sql-server-datenbank#comments</comments>
		<pubDate>Thu, 08 Oct 2009 22:00:26 +0000</pubDate>
		<dc:creator>Frank Piotrowsky</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[2005]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Performancesteigerung]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Skripting]]></category>
		<category><![CDATA[Speicherverkleinerung]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[T-SQL]]></category>

		<guid isPermaLink="false">http://blog.pmd-media.com/?p=191</guid>
		<description><![CDATA[
			
				
			
		
Der normale Weg, eine Microsoft SQL Server-Datenbank zu verkleinern ist über das Microsoft SQL Server Management Studio bzw. über den Befehl DBCC SHRINKDATABASE.
Doch was ist, wenn die Datei der Datenbank nicht kleiner wird? Was ist, wenn die Datenbank anzeigt, dass nur noch ein paar Megabyte Speicherplatz frei sind, obwohl Sie jede Menge Datensätze aus der [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pmd-media.com%2F2009%2F10%2F08%2Fhowto-verkleinern-einer-microsoft-sql-server-datenbank"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pmd-media.com%2F2009%2F10%2F08%2Fhowto-verkleinern-einer-microsoft-sql-server-datenbank&amp;source=FPiotrowsky&amp;style=normal&amp;service=bit.ly&amp;service_api=R_2ada418849661b0a351ca4eaa9f13404&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Der normale Weg, eine Microsoft SQL Server-Datenbank zu verkleinern ist über das Microsoft SQL Server Management Studio bzw. über den Befehl <em>DBCC SHRINKDATABASE</em>.<br />
Doch was ist, wenn die Datei der Datenbank nicht kleiner wird? Was ist, wenn die Datenbank anzeigt, dass nur noch ein paar Megabyte Speicherplatz frei sind, obwohl Sie jede Menge Datensätze aus der Datenbank gelöscht haben?<br />
Das ist mir mit einer Datenbank passiert. Inhalt: ca. 40 Mio. Datensätze, Größe: ca. 12 GB. Nachdem ich ca. 34 Mio. Datensätze gelöscht habe, zeigte die Datenbank über das SQL Server Management Studio an, dass gerade einmal 12 MB freier Speicher verfügbar war. <em>DBCC SHRINKFILE</em> oder <em>DBCC SHRINKDATABASE</em> haben keine Dateiverkleinerung erreicht. Die Größe blieb bei 12 GB.</p>
<h3>Warum?</h3>
<p>SQL Server schreibt die Daten in die Datenbank und erstellt sogenannte Seiten für die Indizes. Eine Seite hat eine bestimmte Größe. Ist eine Seite mit einer bestimmten Anzahl an Index-Einträgen gefüllt, dann wird eine neue Seite erstellt, auf die dann die nächsten Index-Daten geschrieben werden. So viel grob gesagt zur Technik.<br />
Die Indizes in meiner Datenbank waren also auf viele Seiten verteilt, und diese Seiten wiederum in der gesamten Datei. <em>DBCC SHRINKFILE</em> und <em>DBCC SHRINKDATABASE</em> können zwar Speicher in der Datei reorganisieren, allerdings nichts gegen die Fragmentation der Seiten tun.</p>
<h3>Die Lösung</h3>
<p>Um die Seiten zu reorganisieren müssen Sie die Indizes in der Datenbank neu aufbauen und können danach die Befehle DBCC SHRINKFILE oder DBCC DBCC SHRINKDATABASE  ausführen.</p>
<h4>2 Möglichkeiten</h4>
<p>Hierfür haben Sie 2 Möglichkeiten zur Verfügung.</p>
<ol>
<li>Über ein Skript</li>
<li>Über das Microsoft SQL Server Management Studio</li>
</ol>
<h4>Das Skript</h4>
<p>Das Skript, das Sie für die Ausführung der Reorganisation benötigen, finden Sie als Nächstes in diesem Post. Die Ausführung über das Microsoft SQL Server Management Studio finden Sie als Videotutorial in diesem Post.<br />
Das folgende Skript führt die Reorganisation der Indizes in der Datenbank aus und sorgt für eine Füllung der Seiten zu 90%.</p>
<pre>USE DatenbankName -- Geben Sie den Namen der Datenbank an, deren
                  -- Indizes neu aufgebaut werden sollen

DECLARE @TableName varchar(255)
DECLARE TableCursor CURSOR FOR
SELECT table_name FROM information_schema.tables
WHERE table_type = 'base table'

OPEN TableCursor

FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
DBCC DBREINDEX(@TableName,' ',90)
FETCH NEXT FROM TableCursor INTO @TableName
END

CLOSE TableCursor

DEALLOCATE TableCursor</pre>
<p>Da mit <em>DBCC DBREINDEX</em> immer nur einzelne Tabellen bearbeitet werden können, geht dieses Skript jede Tabelle einzeln durch.</p>
<h4>Die Reorganisation via Microsoft SQL Server Management Studio</h4>
<p><span class="youtube">
<object width="425" height="355">
<param name="movie" value="http://www.youtube.com/v/n6Y1hlqrflU?color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;loop=&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0&amp;rel=1" />
<param name="allowFullScreen" value="true" />
<embed wmode="opaque" src="http://www.youtube.com/v/n6Y1hlqrflU?color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0&amp;loop=&amp;showinfo=0&amp;iv_load_policy=3&amp;showsearch=0&amp;rel=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="355"></embed>
<param name="wmode" value="opaque" />
</object>
</span><p><a href="http://www.youtube.com/watch?v=n6Y1hlqrflU"><img src="http://img.youtube.com/vi/n6Y1hlqrflU/default.jpg" width="130" height="97" border=0></a></p><p><a href="http://www.youtube.com/watch?v=n6Y1hlqrflU">www.youtube.com/watch?v=n6Y1hlqrflU</a></p></p>
<p>Nach der Ausführung der Reorganisation funktioniert dann auch der <em>DBCC SHRINKDATABASE</em> Befehl:</p>
<pre>use DatenbankName
go
dbcc shrinkdatabase    (DatenbankName, NOTRUNCATE)
go
dbcc shrinkdatabase    (DatenbankName, TRUNCATEONLY)</pre>
<p>Danach war die Datenbank von 12 GB auf 2 GB geschrumpft.</p>
<h5>Achtung!</h5>
<p>Die Ausführung von <em>DBCC DBREINDEX</em> ist ein Offline-Vorgang, d.h. <strong>die Tabelle wird für die Zeit der Ausführung gesperrt und Benutzer können nicht darauf zugreifen</strong>. Deshalb empfehle ich, diesen Vorgang außerhalb der normalen Betriebszeiten auszuführen.</p>
<p>Wenn Sie Anregungen zu der Anleitung haben oder Kommentare, so zögern Sie nicht, hier zu kommentieren. Ich freue mich über Ihr Feedback.</p>
<div class="shr-publisher-191"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pmd-media.com/2009/10/08/howto-verkleinern-einer-microsoft-sql-server-datenbank/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Die Dateigröße einer Microsoft SQL Server Transaktionsprotokoll Datei verkleinern</title>
		<link>http://blog.pmd-media.com/2009/10/01/die-dateigrose-einer-microsoft-sql-server-transaktionsprotokoll-datei-verkleinern</link>
		<comments>http://blog.pmd-media.com/2009/10/01/die-dateigrose-einer-microsoft-sql-server-transaktionsprotokoll-datei-verkleinern#comments</comments>
		<pubDate>Thu, 01 Oct 2009 20:15:11 +0000</pubDate>
		<dc:creator>Frank Piotrowsky</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[shrinkfile]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[T-SQL]]></category>
		<category><![CDATA[Transaction Log]]></category>
		<category><![CDATA[Transaktionsprotokoll]]></category>

		<guid isPermaLink="false">http://blog.pmd-media.com/?p=181</guid>
		<description><![CDATA[
			
				
			
		
Es kann passieren, dass Sie das Transaktionsprotokoll einer Microsoft SQL Server Datenbank nicht verkleinern können (wohl die Anzahl der Einträge, nicht aber die Dateigröße).
Der folgende Code verkleinert das Transaktionsprotokoll bis zur kleinsten möglichen Größe:
USE DatabaseName
GO
DBCC SHRINKFILE(&#60;TransactionLogName&#62;, 1)
BACKUP LOG &#60;DatabaseName&#62; WITH TRUNCATE_ONLY
DBCC SHRINKFILE(&#60;TransactionLogName&#62;, 1)
GO
ACHTUNG!!!
Bei SQL Server 2008 wird nur noch der Shrinkfile-Befehl benötigt, der Backup-Befehl ist [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pmd-media.com%2F2009%2F10%2F01%2Fdie-dateigrose-einer-microsoft-sql-server-transaktionsprotokoll-datei-verkleinern"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pmd-media.com%2F2009%2F10%2F01%2Fdie-dateigrose-einer-microsoft-sql-server-transaktionsprotokoll-datei-verkleinern&amp;source=FPiotrowsky&amp;style=normal&amp;service=bit.ly&amp;service_api=R_2ada418849661b0a351ca4eaa9f13404&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Es kann passieren, dass Sie das Transaktionsprotokoll einer Microsoft SQL Server Datenbank nicht verkleinern können (wohl die Anzahl der Einträge, nicht aber die Dateigröße).<br />
Der folgende Code verkleinert das Transaktionsprotokoll bis zur kleinsten möglichen Größe:</p>
<pre>USE DatabaseName
GO
DBCC SHRINKFILE(&lt;TransactionLogName&gt;, 1)
BACKUP LOG &lt;DatabaseName&gt; WITH TRUNCATE_ONLY
DBCC SHRINKFILE(&lt;TransactionLogName&gt;, 1)
GO</pre>
<h3>ACHTUNG!!!</h3>
<p>Bei SQL Server 2008 wird nur noch der Shrinkfile-Befehl benötigt, der Backup-Befehl ist überflüssig, zumal &#8220;WITH TRUNCATE_ONLY&#8221; nicht mehr funktioniert.</p>
<div class="shr-publisher-181"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pmd-media.com/2009/10/01/die-dateigrose-einer-microsoft-sql-server-transaktionsprotokoll-datei-verkleinern/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>T-SQL Stored Procedure die eine neue Trace Tabelle anlegt und Daten aus einer Trace Datei importiert</title>
		<link>http://blog.pmd-media.com/2009/09/18/t-sql-stored-procedure-die-eine-neue-trace-tabelle-anlegt-und-daten-aus-einer-trace-datei-importiert</link>
		<comments>http://blog.pmd-media.com/2009/09/18/t-sql-stored-procedure-die-eine-neue-trace-tabelle-anlegt-und-daten-aus-einer-trace-datei-importiert#comments</comments>
		<pubDate>Fri, 18 Sep 2009 16:37:31 +0000</pubDate>
		<dc:creator>Frank Piotrowsky</dc:creator>
				<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[2005]]></category>
		<category><![CDATA[Analyse]]></category>
		<category><![CDATA[Datenimport]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQL Server Profiler]]></category>
		<category><![CDATA[T-SQL]]></category>
		<category><![CDATA[Trace]]></category>

		<guid isPermaLink="false">http://blog.pmd-media.com/?p=167</guid>
		<description><![CDATA[
			
				
			
		
LoadTraceFileToTable ist eine T-SQL Stored Procedure für den Microsoft SQL Server 2005. Wie auch der SQL Server Profiler generiert auch LoadTraceFileToTable eine neue Trace Tabelle von einem Trace File. Aber anders als der SQL Server Profiler bläht LoadTraceFileToTable die master oder user Datenbank nicht unnötig auf, da die Tabelle erst nach dem Profiling-Prozess angelegt wird.
Ich [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pmd-media.com%2F2009%2F09%2F18%2Ft-sql-stored-procedure-die-eine-neue-trace-tabelle-anlegt-und-daten-aus-einer-trace-datei-importiert"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pmd-media.com%2F2009%2F09%2F18%2Ft-sql-stored-procedure-die-eine-neue-trace-tabelle-anlegt-und-daten-aus-einer-trace-datei-importiert&amp;source=FPiotrowsky&amp;style=normal&amp;service=bit.ly&amp;service_api=R_2ada418849661b0a351ca4eaa9f13404&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>LoadTraceFileToTable ist eine T-SQL Stored Procedure für den Microsoft SQL Server 2005. Wie auch der SQL Server Profiler generiert auch LoadTraceFileToTable eine neue Trace Tabelle von einem Trace File. Aber anders als der SQL Server Profiler bläht LoadTraceFileToTable die master oder user Datenbank nicht unnötig auf, da die Tabelle erst nach dem Profiling-Prozess angelegt wird.</p>
<p>Ich habe es immer vorgezogen, die Daten aus einem Trace File (.trc) zu Analysezwecken in eine Datenbanktabelle zu importieren. So ist es für mich einfacher, die Daten zu analysieren, da es ein Leichtes ist, auf der Datenbank ein paar Abfragen laufen zu lassen. Also habe ich die Stored Procedure LoadTraceFileToTable geschrieben. Mit dieser Stored Procedure kann ich ein beliebiges Trace-Ergebnis aus einem Trace-File in eine Trace Tabelle importieren, Abfragen auf dieser ausführen und nachher wieder löschen, ohne dass mir die Original-Daten verloren gehen.</p>
<p>Die LoadTraceFileToTable Stored Procedure soll den SQL Server Profiler nicht ersetzen sondern eher komplettieren. Denn auch der SQL Server Profiler kann Trace Tabellen aus Trace Files erzeugen. LoadTraceFileToTable hat einen entscheidenden Vorteil gegenüber SQL Server Profiler: während des Traces kann die Tabelle schnell Millionen von Zeilen füllen und somit die master oder user Datenbank vergrößern. LoadTraceFileToTable legt die Tabelle nach dem Trace an, so dass diese Systemdatenbanken nicht unnütz vergrößert werden.</p>
<p>Die LoadTraceFileToTable Stored Procedure (siehe Listing 1) konstruiert eine dynamische T-SQL Abfrage. Genauer gesagt erstellt sie einen SELECT INTO Befehl, der die ::fn_trace_gettable System Funktion benutzt. Diese Funktion transformiert eine Trace Datei in eine Tabelle. Die LoadTraceFile ToTable Stored Procedure fügt ebenfalls eine bigint Identity Spalte hinzu.</p>
<p>Die LoadTraceFileToTable Stored Procedure wurde zur Benutzung auf dem SQL Server 2005 geschrieben. Sie benötigt 2 Parameter: 1. den Pfad- und Dateinamen der Trace Datei und 2. den Namen der Tabelle, die angelegt und in die die Daten importiert werden sollen. Der Name der Zieltabelle muss im Format <em>Datenbank</em>.<em>Schema</em>.<em>Tabellenname</em> angegeben werden.</p>
<p>Wenn Sie z.B. die Datei C:\ELI_TRACE.trc in die Zieltabelle AdventureWorks.dbo.trc_04052007 importieren wollen, würden Sie den folgenden Code ausführen:</p>
<pre>EXEC LoadTraceFileToTable
@traceFileName = ‘C:ELI_TRACE.trc’,
@newTraceTableName = ‘AdventureWorks.dbo.trc_04052007’</pre>
<p>Bevor Sie diesen Befehl ausführen, sollten Sie sicherstellen, dass die folgenden Voraussetzungen erfüllt sind, da sie von der Stored Procedure nicht abgetestet werden:</p>
<ol>
<li>Die Trace Datei muss vor der Ausführung der Stored Procedure bereits existieren</li>
<li>Der Trace File Parameter muss den vollen Pfadnamen beinhalten</li>
<li>Der Tabellennamen Parameter muss im Format <em>Datenbank</em>.<em>Schema</em>.<em>Tabellenname</em> angegeben werden</li>
<li>Die Trace Tabelle darf in der Datenbank nicht existieren</li>
<li>Der SELECT INTO Befehl muss auf dem Server ausführbar sein (z.B. sollte die SELECT INTO/Bulk Copy Option aktiviert sein)</li>
</ol>
<pre>--Listing 1: The LoadTraceFileToTable Stored Procedure

CREATE PROCEDURE LoadTraceFileToTable
 (@traceFileName varchar(200),
 @newTraceTableName sysname)
AS
BEGIN
 DECLARE @tsqlStmt varchar(400)
 SET NOCOUNT ON
 SET @tsqlStmt =

-- BEGIN CALLOUT A
 'SELECT IDENTITY(bigInt,1,1) AS Row_Number,' +
 '* ' + ' INTO ' + RTRIM(LTRIM(@newTraceTableName)) +
 ' FROM ::fn_trace_gettable ( ' + '''' +
 @traceFileName + '''' + ',default)'
-- END CALLOUT A

 PRINT @tsqlStmt
 EXEC (@tsqlStmt)
 SET NOCOUNT OFF
END
GO
</pre>
<p>Dieser Artikel ist eine direkte Übersetzung des Artikels <a title="T-SQL Stored Procedure Creates Trace Tables from Trace Files" href="http://www.sqlmag.com/Articles/ArticleID/97389/97389.html?Ad=1" target="_blank">T-SQL Stored Procedure Creates Trace Tables from Trace Files</a> von <span id="intelliTxt" style="margin-top:-15px;">Eli Leiba, Senior Application DBA, Israel Electric Company, der mir freundlicherweise die Genehmigung für die Übersetzung und die Veröffentlichung des Codes gegeben hat.</span></p>
<p><span style="margin-top:-15px;">This post is a direct translation of the article </span><a title="T-SQL Stored Procedure Creates Trace Tables from Trace Files" href="http://www.sqlmag.com/Articles/ArticleID/97389/97389.html?Ad=1" target="_blank">T-SQL Stored Procedure Creates Trace Tables from Trace Files</a> by <span id="intelliTxt" style="margin-top:-15px;">Eli Leiba, Senior Application DBA, Israel Electric Company, who kindly acknowledged me the right to repulish the translated version. Thank you Eli, for sharing this great code with us.<br />
</span></p>
<div class="shr-publisher-170"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pmd-media.com/2009/09/18/t-sql-stored-procedure-die-eine-neue-trace-tabelle-anlegt-und-daten-aus-einer-trace-datei-importiert/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Companyweb funktioniert nicht mehr</title>
		<link>http://blog.pmd-media.com/2009/07/29/companyweb-funktioniert-nicht-mehr</link>
		<comments>http://blog.pmd-media.com/2009/07/29/companyweb-funktioniert-nicht-mehr#comments</comments>
		<pubDate>Wed, 29 Jul 2009 08:31:42 +0000</pubDate>
		<dc:creator>Frank Piotrowsky</dc:creator>
				<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[2005]]></category>
		<category><![CDATA[2008]]></category>
		<category><![CDATA[companyweb]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://blog.pmd-media.com/?p=89</guid>
		<description><![CDATA[
			
				
			
		
Gestern ging es noch, doch heute funktioniert das Companyweb nicht mehr. Einfach so. Ohne Grund. Niemand hat etwas verändert&#8230;
Dieses Verhalten habe ich bei einem Microsoft Server 2008 festgestellt der Sharepoint hostet und die Daten für das companyweb in einer SQL-Server 2005 Datenbank auf einem weiteren Server speichert. Da dieses Phänomen regelmäßig auftritt (meistens mittwochs oder [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pmd-media.com%2F2009%2F07%2F29%2Fcompanyweb-funktioniert-nicht-mehr"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pmd-media.com%2F2009%2F07%2F29%2Fcompanyweb-funktioniert-nicht-mehr&amp;source=FPiotrowsky&amp;style=normal&amp;service=bit.ly&amp;service_api=R_2ada418849661b0a351ca4eaa9f13404&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Gestern ging es noch, doch heute funktioniert das Companyweb nicht mehr. Einfach so. Ohne Grund. Niemand hat etwas verändert&#8230;</p>
<p>Dieses Verhalten habe ich bei einem Microsoft Server 2008 festgestellt der Sharepoint hostet und die Daten für das companyweb in einer SQL-Server 2005 Datenbank auf einem weiteren Server speichert. Da dieses Phänomen regelmäßig auftritt (meistens mittwochs oder donnerstags&#8230;), widme ich diesem Problem einen extra Post.</p>
<p>Dienstags rollt Microsoft neue Updates aus. Sind hierbei Updates für einen Server 2008 vorhanden, die einen Neustart erfordern, kann das beschriebene Verhalten nach dem Neustart des Servers, der die SQL-Server-Dienste hostet, auftreten. Dann werden diese nicht (immer) neu gestartet, obwohl die Startart auf &#8220;Automatisch&#8221; gesetzt ist.</p>
<p>Wie diese neu gestartet werden, habe ich in meinem Post &#8220;<a title="SQL Server Dienste neu starten" href="http://blog.pmd-media.com/2009/07/29/sql-server-dienste-neu-starten/" target="_blank">SQL Server Dienste neu starten</a>&#8221; beschrieben.</p>
<div class="shr-publisher-89"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pmd-media.com/2009/07/29/companyweb-funktioniert-nicht-mehr/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server Dienste neu starten</title>
		<link>http://blog.pmd-media.com/2009/07/29/sql-server-dienste-neu-starten</link>
		<comments>http://blog.pmd-media.com/2009/07/29/sql-server-dienste-neu-starten#comments</comments>
		<pubDate>Wed, 29 Jul 2009 08:14:55 +0000</pubDate>
		<dc:creator>Frank Piotrowsky</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[2008]]></category>
		<category><![CDATA[Dienste]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Konsole]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[neu starten]]></category>
		<category><![CDATA[Passwort]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://blog.pmd-media.com/?p=84</guid>
		<description><![CDATA[
			
				
			
		
Es kann passieren, dass der Microsoft SQL-Server 2005 nicht mehr antwortet. Diesen Fall habe ich auf einem virtuellen Microsoft Server 2008 (Hyper-V) beobachtet.
In unregelmäßigen Abständen sind die SQL Server Dienste, die eigentlich beim Systemtart automatisch gestartet werden sollen, nicht gestartet bzw. haben in der Anzeige im Server-Manager keinen Status &#8220;Gestartet&#8221;. Dies passiert meistens Mittwochs, nachdem [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.pmd-media.com%2F2009%2F07%2F29%2Fsql-server-dienste-neu-starten"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.pmd-media.com%2F2009%2F07%2F29%2Fsql-server-dienste-neu-starten&amp;source=FPiotrowsky&amp;style=normal&amp;service=bit.ly&amp;service_api=R_2ada418849661b0a351ca4eaa9f13404&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Es kann passieren, dass der Microsoft SQL-Server 2005 nicht mehr antwortet. Diesen Fall habe ich auf einem virtuellen Microsoft Server 2008 (Hyper-V) beobachtet.<br />
In unregelmäßigen Abständen sind die SQL Server Dienste, die eigentlich beim Systemtart automatisch gestartet werden sollen, nicht gestartet bzw. haben in der Anzeige im Server-Manager keinen Status &#8220;Gestartet&#8221;. Dies passiert meistens Mittwochs, nachdem der Server die Dienstags-Updates von Microsoft installiert und sich danach selbst neu gestartet hat.<br />
Folgendes Video zeigt die Vorgehensweise in der GUI:<br />
[wpvideo 9rhEljbB]</p>
<p>Die Befehle für die Kommandozeile wären folgende:<br />
net start &#8220;SQL Server (<em>Instanzname</em>)&#8221;<br />
net start &#8220;SQL Server Analysis Services (<em>Instanzname</em>)&#8221;<br />
net start &#8220;SQL Server Browser&#8221;<br />
net start &#8220;SQL Server Integration Services 10.0&#8243;<br />
net start &#8220;SQL Server Reporting Services (<em>Instanzname</em>)&#8221;<br />
net start &#8220;SQL Server-Agent (<em>Instanzname</em>)&#8221;</p>
<p>Wobei der <em>Instanzname</em> durch den Namen der SQL-Server-Instanz ausgetauscht werden muss. Die Standard-Instanz, die SQL Server installiert heißt &#8220;MSSQLSERVER&#8221;.</p>
<p><strong>Mögliche Fehlermeldungen</strong></p>
<p><div id="attachment_85" class="wp-caption aligncenter" style="width: 421px"><img class="size-full wp-image-85" title="Fehler 1069: Der Dienst konnte aufgrund einer fehlerhaften Anmeldung nicht gestartet werden." src="http://www1.pmdmedia.com/wp-content/uploads/2009/07/sqlservererror01.jpg" alt="Fehler 1069: Der Dienst konnte aufgrund einer fehlerhaften Anmeldung nicht gestartet werden." width="411" height="178" /><p class="wp-caption-text">Fehler 1069: Der Dienst konnte aufgrund einer fehlerhaften Anmeldung nicht gestartet werden.</p></div></p>
<p>Taucht die Fehlermeldung &#8220;Fehler 1069: Der Dienst konnte aufgrund einer fehlerhaften Anmeldung nicht gestartet werden.&#8221; auf, dann sind die SQL-Server-Accounts Opfer der Gruppenrichtlinie zur regelmäßigen Änderung des Passwortes geworden. In diesem Fall muss für jedes Benutzer-Konto für die SQL-Server-Dienste das Passwort neu gesetzt werden. Dies kann über die GUI geschehen oder mit Hilfe des folgenden Befehls an der Kommandozeile:</p>
<p>net user <em>Kontoname Passwort</em> /domain</p>
<p>Wobei <em>Kontoname</em> der Name des Benutzerkontos ist und <em>Passwort</em> das dementsprechende Passwort.</p>
<p>Wenn wieder das alte Passwort eingegeben wird, dann können die Dienste direkt neu gestartet werden. Wird ein neues verwendet, dann müssen die Dienste natürlich analog angepasst werden.</p>
<p>Microsoft hat hier ebenfalls einen interessanten Support-Artikel für dieses Problem: <a title="Problembehandlung für die Berechtigungen zum Starten von Diensten" href="http://support.microsoft.com/kb/259733/de" target="_blank">http://support.microsoft.com/kb/259733/de</a></p>
<div class="shr-publisher-84"></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pmd-media.com/2009/07/29/sql-server-dienste-neu-starten/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced) (user agent is rejected)

Served from: blog.pmd-media.com @ 2012-02-05 14:09:42 -->
