<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.sharepointblogs.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">odi&amp;#39;s blog</title><subtitle type="html" /><id>http://www.sharepointblogs.com/odi/atom.aspx</id><link rel="alternate" type="text/html" href="http://www.sharepointblogs.com/odi/default.aspx" /><link rel="self" type="application/atom+xml" href="http://www.sharepointblogs.com/odi/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20611.960">Community Server</generator><updated>2006-07-28T13:52:00Z</updated><entry><title>Masterpage-Dateien und SharePoint Designer</title><link rel="alternate" type="text/html" href="http://www.sharepointblogs.com/odi/archive/2008/03/09/masterpage-dateien-und-sharepoint-designer.aspx" /><id>http://www.sharepointblogs.com/odi/archive/2008/03/09/masterpage-dateien-und-sharepoint-designer.aspx</id><published>2008-03-09T21:11:00Z</published><updated>2008-03-09T21:11:00Z</updated><content type="html">&lt;div class="ExternalClass5E6F36D09C4C4F988CDD208FDB1001AA"&gt;
&lt;p&gt;Bei der Entwicklung mit Masterpage-Dateien sollte man eines nie, nie, nie machen: &lt;/p&gt;
&lt;p&gt;Eine Masterpage-Datei, die im Dateisystem liegt (z.B. ans Bestandteil eines Features) mit dem SharePoint Designer editieren. Der Effekt ist grausam! Jede aspx-Datei, die diese Masterpage-Datei verwendet, wird eine Fehlermeldung &amp;quot;Datei nicht gefunden&amp;quot; verursachen. Und das, obwohl zunächst alle Dateien offensichtlich vorhanden sind. &lt;/p&gt;
&lt;p&gt;Was passiert also beim Editieren mit dem SharePoint Designer? &lt;/p&gt;
&lt;p&gt;Nun, er versucht einfach nur schlau zu sein. Wenn eine Datei aus dem Dateisystem geöffnet wird, dann untersucht der SharePoint Designer alle Pfad- und Dateiangaben, die in der Datei vorhanden sind. Und die Pfade, mit denen er nichts anfangen kann, die werden geändert !!! Der Effekt ist folgender: &lt;/p&gt;
&lt;p&gt;In den meisten Masterpage-Dateien wird im Kopf der Datei folgendes Fragment zu finden sein: &lt;/p&gt;
&lt;p&gt;&amp;lt;@Master language=&amp;quot;C#&amp;quot;%&amp;gt;&lt;br /&gt;&amp;lt;%@ Register Tagprefix=&amp;quot;SharePoint&amp;quot; Namespace=&amp;quot;Microsoft.SharePoint.WebControls&amp;quot; Assembly=&amp;quot;Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot; %&amp;gt; &amp;lt;%@ Register Tagprefix=&amp;quot;Utilities&amp;quot; Namespace=&amp;quot;Microsoft.SharePoint.Utilities&amp;quot; Assembly=&amp;quot;Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot; %&amp;gt; &lt;br /&gt;&amp;lt;%@ Import Namespace=&amp;quot;Microsoft.SharePoint&amp;quot; %&amp;gt;&lt;br /&gt;&amp;lt;%@ Import Namespace=&amp;quot;Microsoft.SharePoint.ApplicationPages&amp;quot; %&amp;gt;&lt;br /&gt;&amp;lt;%@ Register Tagprefix=&amp;quot;WebPartPages&amp;quot; Namespace=&amp;quot;Microsoft.SharePoint.WebPartPages&amp;quot; Assembly=&amp;quot;Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot; %&amp;gt;&lt;br /&gt;&amp;lt;%@ Register TagPrefix=&amp;quot;wssuc&amp;quot; TagName=&amp;quot;Welcome&amp;quot; &lt;strong&gt;src=&amp;quot;~/_controltemplates/Welcome.ascx&amp;quot;&lt;/strong&gt; %&amp;gt;&lt;br /&gt;&amp;lt;%@ Register TagPrefix=&amp;quot;wssuc&amp;quot; TagName=&amp;quot;DesignModeConsole&amp;quot; &lt;strong&gt;src=&amp;quot;~/_controltemplates/DesignModeConsole.ascx&amp;quot;&lt;/strong&gt; %&amp;gt;&lt;br /&gt;&amp;lt;HTML dir=&amp;quot;&amp;lt;%$Resources:wss,multipages_direction_dir_value%&amp;gt;&amp;quot; runat=&amp;quot;server&amp;quot; xmlns:o=&amp;quot;urn:schemas-microsoft-com:office:office&amp;quot; __expr-val-dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;HEAD runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;[...]&lt;/p&gt;
&lt;p&gt;Hier sind besonders die Register-Einträge zu beachten, die die Tagnames &amp;quot;Welcome&amp;quot; und &amp;quot;DesignModeConsole&amp;quot; definieren. Hier werden relative Pfade angegeben (&amp;quot;~/controltemplates/…&amp;quot;). Befindet sich die Datei im Dateisystem und wird dann mit dem SharePoint Designer bearbeitet und gespeichert, dann sieht das Fragment anschließend so aus: &lt;/p&gt;
&lt;p&gt;&amp;lt;@Master language=&amp;quot;C#&amp;quot;%&amp;gt;&lt;br /&gt;&amp;lt;%@ Register Tagprefix=&amp;quot;SharePoint&amp;quot; Namespace=&amp;quot;Microsoft.SharePoint.WebControls&amp;quot; Assembly=&amp;quot;Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot; %&amp;gt; &lt;br /&gt;&amp;lt;%@ Register Tagprefix=&amp;quot;Utilities&amp;quot; Namespace=&amp;quot;Microsoft.SharePoint.Utilities&amp;quot; Assembly=&amp;quot;Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot; %&amp;gt; &amp;lt;%@ Import Namespace=&amp;quot;Microsoft.SharePoint&amp;quot; %&amp;gt;&lt;br /&gt;&amp;lt;%@ Import Namespace=&amp;quot;Microsoft.SharePoint.ApplicationPages&amp;quot; %&amp;gt;&lt;br /&gt;&amp;lt;%@ Register Tagprefix=&amp;quot;WebPartPages&amp;quot; Namespace=&amp;quot;Microsoft.SharePoint.WebPartPages&amp;quot; Assembly=&amp;quot;Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot; %&amp;gt;&lt;br /&gt;&amp;lt;%@ Register TagPrefix=&amp;quot;wssuc&amp;quot; TagName=&amp;quot;Welcome&amp;quot; &lt;strong&gt;src=&amp;quot;_controltemplates/Welcome.ascx&amp;quot;&lt;/strong&gt; %&amp;gt;&lt;br /&gt;&amp;lt;%@ Register TagPrefix=&amp;quot;wssuc&amp;quot; TagName=&amp;quot;DesignModeConsole&amp;quot; &lt;strong&gt;src=&amp;quot;_controltemplates/DesignModeConsole.ascx&amp;quot;&lt;/strong&gt; %&amp;gt;&lt;br /&gt;&amp;lt;HTML dir=&amp;quot;&amp;lt;%$Resources:wss,multipages_direction_dir_value%&amp;gt;&amp;quot; runat=&amp;quot;server&amp;quot; xmlns:o=&amp;quot;urn:schemas-microsoft-com:office:office&amp;quot; __expr-val-dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;HEAD runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;[...]&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Wie unschwer erkennbar ist, &amp;quot;optimiert&amp;quot; der SharePoint Designer ein wenig und entfernt aus den Pfadangaben den Teil &amp;quot;~/&amp;quot;. Damit ist die Datei bei der Ausführung der Masterpage nicht mehr auffindbar, was zum Fehler &amp;quot;Datei nicht gefunden&amp;quot; führt. &lt;/p&gt;
&lt;p&gt;Daher, wenn eine Masterpage aus dem Dateisystem editiert werden soll, dann entweder den guten alten Notepad oder das Visual Studio verwenden. &lt;/p&gt;&lt;/div&gt;
			&lt;hr&gt;&lt;span style="font-size:10pt;"&gt;Posted on &lt;a href="http://www.sharepointblogs.com/"&gt;SharePoint Blogs&lt;/a&gt;&lt;/span&gt;
		  &lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=13813" width="1" height="1"&gt;</content><author><name>odi</name><uri>http://www.sharepointblogs.com/members/odi.aspx</uri></author></entry><entry><title>SharePoint Services 3.0 und die Indizierung von MSG-Dateien</title><link rel="alternate" type="text/html" href="http://www.sharepointblogs.com/odi/archive/2008/01/24/sharepoint-services-3-0-und-die-indizierung-von-msg-dateien.aspx" /><id>http://www.sharepointblogs.com/odi/archive/2008/01/24/sharepoint-services-3-0-und-die-indizierung-von-msg-dateien.aspx</id><published>2008-01-24T10:54:00Z</published><updated>2008-01-24T10:54:00Z</updated><content type="html">&lt;p&gt;
&lt;div class="ExternalClass71F06353E87D42658408C71988A631AA"&gt;
&lt;div&gt;Die SharePoint Services 3.0 stellen von sich aus keine Möglichkeit zur Verfügung, Inhalte von MSG-Dateien (gespeicherte Outlook-Mails) zu indizieren. Es gibt einige kostenpflichtige IFilter, aber über einen kleinen Umweg, lässt sich auch der MSG-IFilter für die Windows Desktop Search verwenden.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;1. Windows Desktop Search installieren&lt;/div&gt;
&lt;div&gt;Zuerst muss auf dem SharePoint-Rechner die Windows Desktop Search installiert werden. Das &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=0E0423B4-D396-4986-A1BB-793122FCC65D&amp;amp;displaylang=en"&gt;Installationspaket&lt;/a&gt; stellt Microsoft in seinem Downloadbereich zur Verfügung. Die Windows Desktop Suche ist notwendig, damit im nächsten Schritt der MSG-IFilter installiert werden kann.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;2. MSG-IFilter installieren&lt;/div&gt;
&lt;div&gt;Für die Windows Desktop Suche stellt Microsoft einen MSG-IFilter zur Verfügung. Das &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=134ecbb0-c162-4d07-bef3-0b602c4a79dd&amp;amp;DisplayLang=en"&gt;Installationspaket&lt;/a&gt; hierfür ist ebenfalls im Downloadbereich von Microsoft verfügbar.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;3. Änderungen in der Registrierdatebank&lt;/div&gt;
&lt;div&gt;Die Dateiendung und der IFilter müssen jetzt noch für die SharePoint-Suche registriert werden. Hierfür müssen in der Registrierdatenbank diese beiden Einträge gemacht werden (thanks to Gavin Adams &lt;a class="" title="Blog-Entry" href="http://blog.gavin-adams.com/2007/10/09/enabling-the-inbuilt-msg-ifilter-on-sharepoint-even-64bit/" target="_blank"&gt;Blog-entry&lt;/a&gt;&amp;nbsp;for the info about the Outlook mime types):&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Windows Registry Editor Version 5.00&lt;/div&gt;
&lt;div&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\Search\Setup\Filters\.msg]&lt;br /&gt;&amp;quot;Extension&amp;quot;=&amp;quot;msg&amp;quot;&lt;br /&gt;&amp;quot;FileTypeBucket&amp;quot;=dword:00000001&lt;br /&gt;&amp;quot;MimeTypes&amp;quot;=&amp;quot;application/vnd.ms-outlook&amp;quot;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Windows Registry Editor Version 5.00&lt;/div&gt;
&lt;div&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\Search\Setup\ContentIndexCommon\Filters\Extension\.msg]&lt;br /&gt;@=hex(7):7b,00,34,00,30,00,33,00,39,00,62,00,33,00,32,00,36,00,2d,00,39,00,66,\&lt;br /&gt;&amp;nbsp; 00,32,00,37,00,2d,00,34,00,62,00,34,00,61,00,2d,00,62,00,34,00,36,00,30,00,\&lt;br /&gt;&amp;nbsp; 2d,00,34,00,37,00,61,00,30,00,63,00,36,00,61,00,33,00,39,00,64,00,35,00,63,\&lt;br /&gt;&amp;nbsp; 00,7d,00,00,00,00,00&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;4. SharePoint-Suchdienst neu starten&lt;/div&gt;
&lt;div&gt;Damit die Änderungen in der Registrierdatenbank aktiv werden, muss der SharePoint-Suchdienst neu gestartet werden. Über ein Befehlsfenster werden die Kommandos&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;NET STOP SPSEARCH&lt;/div&gt;
&lt;div&gt;NET START SPSEARCH&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;ausgeführt.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;5. Vollständigen Crawl starten&lt;/div&gt;
&lt;div&gt;Damit auch bereits abgelegte MSG-Dateien indizeirt werden, muss ein vollständiger Crawl gestartet werden. Hierfür wird ein Befehlsfenster geöffnet und in das Verzeichns &amp;quot;C:\Programme\Gemeinsame Dateien\Microsoft Shared\Web Server Extensions\12\BIN&amp;quot; gewechselt hier wird &lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;STSADM -o spsearch -action fullcrawlstart&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;ausgeführt.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;6. Windows Suche deaktivieren (optional)&lt;/div&gt;
&lt;div&gt;Die Windows Desktop Suche kann jetzt wieder aktiviert werden. Sie wurde nur benötigt, damit der IFilter von Microsoft installiert werden kann. Deaktivieren lässt sich der Dienst über die Verwaltung &amp;gt; Dienste.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;
			&lt;hr&gt;&lt;span style="font-size:10pt;"&gt;Posted on &lt;a href="http://www.sharepointblogs.com/"&gt;SharePoint Blogs&lt;/a&gt;&lt;/span&gt;
		  &lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=11782" width="1" height="1"&gt;</content><author><name>odi</name><uri>http://www.sharepointblogs.com/members/odi.aspx</uri></author></entry><entry><title>Webpartseiten und Websitevorlagen</title><link rel="alternate" type="text/html" href="http://www.sharepointblogs.com/odi/archive/2007/04/30/webpartseiten-und-websitevorlagen.aspx" /><id>http://www.sharepointblogs.com/odi/archive/2007/04/30/webpartseiten-und-websitevorlagen.aspx</id><published>2007-04-30T19:49:00Z</published><updated>2007-04-30T19:49:00Z</updated><content type="html">&lt;p&gt;Ich habe mich heute mal ein wenig mit der Erstellung von neuen Webpartseiten auseinandergesetzt, und es war wirklich eine Auseinandersetzung. Über die Websiteeinstellungen lassen sich neue Webpartseiten anlegen, diese Seiten haben nur den Nachteil, dass die Schnellstartleiste fehlt. Also, ab einfachsten die default.aspx im SharePoint Designer laden und unter einem anderen Namen abspeichern, dann habe ich ja eine neue Webpartseite. Gesagt getan, und die Seite war danach auch da und konnte verwendet werden. Ich habe dann auf diese Seite ein paar Webparts abgelegt und diese Webparts auch konfiguriert, u.a. soll bei Symbolleistentyp &amp;quot;Keine Symbolleiste&amp;quot; eingetragen sein. Meine Site also soweit zusammengestellt und dann als Vorlage in den Websitevorlagenkatalog gespeichert. Soweit so gut.&lt;/p&gt;  &lt;p&gt;Aus der Vorlage dann eine neue Site erstellt, auf die neue Webpartseite gegangen und aus allen Wolken gefallen. Der Symbolleistentyp war auf &amp;quot;Vollständige Symbolleiste&amp;quot; eingestellt. Also das Webpart nocheinmal konfiguriert, die Vorlage gespeichert, aus der Vorlage wieder eine Site angelegt: gleiches Ergebnis, der Symbolleistentyp passt wieder nicht.&lt;/p&gt;  &lt;p&gt;Wie ist die neue Webpartseite entstanden? Ich hatte die default.aspx im SharePoint Designer geöffnet und dort unter einem anderen Namen gespeichert. OK, dann gehen wir eben einen anderen Weg.&lt;/p&gt;  &lt;p&gt;Die Site über den SharePoint Designer geöffnet und die default.aspx kopiert. Nach meinem Verständnis sollte jetzt das Gleiche passieren wie bei dem vorherigen Versuch. Diese neue Kopie ebenfalls soweit zusammengestellt, wie ich es vorher schon gemacht hatte, u.a. auch den Symbolleistentyp eingestellt, und die Site dann wieder im Websitevorlagenkatalog gespeichert.&lt;/p&gt;  &lt;p&gt;Wieder eine Site angelegt, diesesmal mit der neuen Vorlage, auf die neue neue Webpartseite gegangen, und siehe da, der Symbolleistentyp passt. &lt;/p&gt;  &lt;p&gt;Was lässt sich jetzt aus diesen Erkenntnissen ableiten? Wenn eine neue Webpartseite angelegt werden soll, dann kopiere eine bestehende Seite über den SharePoint Designer. Beim Speichern unter einem anderen Namen scheint irgendetwas zu passieren (oder vielleicht auch nicht zu passieren).&lt;/p&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=24506" width="1" height="1" alt="" /&gt;
			&lt;hr&gt;&lt;span style="font-size:10pt;"&gt;Posted on &lt;a href="http://www.sharepointblogs.com/"&gt;SharePoint Blogs&lt;/a&gt;&lt;/span&gt;
		  &lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=1489" width="1" height="1"&gt;</content><author><name>odi</name><uri>http://www.sharepointblogs.com/members/odi.aspx</uri></author></entry><entry><title>Websitevorlagen in SharePoint v3.0</title><link rel="alternate" type="text/html" href="http://www.sharepointblogs.com/odi/archive/2007/04/20/websitevorlagen-in-sharepoint-v3-0.aspx" /><id>http://www.sharepointblogs.com/odi/archive/2007/04/20/websitevorlagen-in-sharepoint-v3-0.aspx</id><published>2007-04-20T18:58:00Z</published><updated>2007-04-20T18:58:00Z</updated><content type="html">&lt;p&gt;Websitevorlagen sollen den Inhaltsadministrator u.a. dabei unterstützen, vordefinierte Strukturen zu schaffen, damit eine Site nicht gleich von Anfang an ein chaotisches Eigenleben entwickelt. Daher ist es recht angenehm, dass man zunächst eine Site so &amp;quot;zurecktzupfen&amp;quot; kann, wie sie aussehen soll, und anschließend über die Websiteeinstellungen im Katalog eine Vorlage ablegen kann. Wären da nicht drei in meinen Augen sehr unangenehme Dinge, von denen ich eigentlich zwei in die Kategorie &amp;quot;Fehler&amp;quot; einordnen würde.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. Symbolleistentyp geht verloren&lt;br /&gt;&lt;/strong&gt;Eine der Eigenschaften, die für ein Webpart eingestellt werden können, ist der Symbolleistentyp. In einigen Fällen bietet es sich an, dass hier die Option &amp;quot;Keine Symbolleiste&amp;quot; ausgewählt wird, wodurch die Ausgabe &amp;quot;Neues Dokument hinzufügen&amp;quot; unterdrückt wird. Wird die Site als Vorlage gespeichert und dann basierend auf dieser Vorlage eine neue Site angelegt, dann wird der Symbolleistentype wieder auf &amp;quot;Übersichtssymbolleiste&amp;quot; umgestellt. Dieses Verhalten würde ich in die Kategorie &amp;quot;Fehler&amp;quot; einordnen.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. Standardwebparts gehen verloren&lt;br /&gt;&lt;/strong&gt;In einer SharePoint-Site, die aus den Standard-Vorlagen (Teamwebsite, etc.) angelegt werden, stehen einige nützliche Webparts, wie z.B. das Inhalts-Editor-Webpart zur Verfügung. Wird eine Site als Template gespeichert, und dann mit STSADM -o addtemplate in den globalen Vorlagenkatalog aufgenommen, sodass die Vorlage auch für eine Site-Collection verwendet werden kann, dann fehlen genau diese Webparts, nachdem basierend auf der Vorlage eine neue Site-Collection angelegt wurde. Sie können zwar über &amp;quot;Auffüllen&amp;quot; wieder in den Webpartkatalog aufgenommen werden, aber das ist trotzdem ärgerlich, vor allem, wenn die Site-Collections automatisiert angelegt werden, also kein Administrator anschließend &amp;quot;auffüllen&amp;quot; kann. Auch dieses Verhalten würde ich in die Kategorie &amp;quot;Fehler&amp;quot; einordnen, wobei dies wie gesagt nur auftritt, wenn die Vorlage mit STSADM zugefügt wurde.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. Gruppen/Rollen werden nicht korrekt&amp;nbsp;in die Vorlage übernommen&lt;/strong&gt;&lt;br /&gt;Für mich gehört zu einer Vorlage auch, dass Vorbereitungen für die Berechtigungen gemacht werden können, also SharePoint-Gruppen angelegt und diese Gruppen in Listen und Bibliotheken verwendet werden können, sodass die Zugriffe entsprechend eingestellt werden können. Nicht immer dürfen die Teilnehmer einer Site wirklich in allen Listen und Bibliotheken schreiben. Jetzt zunächst die gute Nachricht: wird für eine Vorlage eine Rolle/Gruppe angelegt, dann steht diese Gruppe auch nach der Anwendung der Vorlage zur Verfügung. Die schlechte Nachricht: wurde eine Bibliothek oder Liste mit eigenen Berechtigungen konfiguriert, dann wird nach dem Anwenden der Vorlage wieder die Vererbung in Kraft gesetzt. D.h., die in der Vorlage eingestellten Berechtigungen in der Liste oder Bibliothek gehen verloren. Auch hier würde ich gern von einem &amp;quot;Fehler&amp;quot; sprechen, aber mit den richtigen Argumenten würde ich mich ja vielleicht auch überzeugen lassen, dass es sich eher um ein &amp;quot;Feature&amp;quot; handelt.&lt;/p&gt;  &lt;p&gt;Insgesamt wurden meine Hoffnungen, mit Websitevorlagen recht gut Grundstrukturen zu schaffen, drastisch gedämpft. Vielleicht habe ich ja die Latte auch einfach nur zu hoch gehängt, aber ärgern tue ich mich trotzdem.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=23783" width="1" height="1" alt="" /&gt;
			&lt;hr&gt;&lt;span style="font-size:10pt;"&gt;Posted on &lt;a href="http://www.sharepointblogs.com/"&gt;SharePoint Blogs&lt;/a&gt;&lt;/span&gt;
		  &lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=1490" width="1" height="1"&gt;</content><author><name>odi</name><uri>http://www.sharepointblogs.com/members/odi.aspx</uri></author></entry><entry><title>WSS v3 und Suche in PDF-Dateien</title><link rel="alternate" type="text/html" href="http://www.sharepointblogs.com/odi/archive/2007/01/22/wss-v3-und-suche-in-pdf-dateien.aspx" /><id>http://www.sharepointblogs.com/odi/archive/2007/01/22/wss-v3-und-suche-in-pdf-dateien.aspx</id><published>2007-01-22T21:01:00Z</published><updated>2007-01-22T21:01:00Z</updated><content type="html">&lt;p&gt;Zum Thema PDF-Suche und SharePoint v3.0 gibt es inzwischen reichlich Beiträge im Web. Nachdem sich Microsoft mit dem Artikel 927675 (&lt;a href="http://support.microsoft.com/kb/927675/en-us"&gt;http://support.microsoft.com/kb/927675/en-us&lt;/a&gt;) ebenfalls mit einem Betrag gemeldet hat, sollte das Thema eigentlich reichhaltig behandelt sein.&lt;/p&gt;  &lt;p&gt;Um die Einstellungen aus dem Microsoft-Artikel vornehmen zu können haben wir ein Tool erstellt, dass bei der Konfiguration helfen soll. Dieses Tool, samt kurzer Beschreibung liegt &lt;a href="http://www.serviceportals.de/download/tools/Wss3PdfSearchCheck.zip"&gt;hier&lt;/a&gt; zum download.&lt;/p&gt;  &lt;p&gt;For all international readers:&lt;/p&gt;  &lt;p&gt;Searching in PDF-files in SharePoint Services v3.0 needs some editing in the registry as Microsoft has shown in article 927675 in the knowledge base. To check (and set) the settings for crawling PDF-files, we have made a small tool. This tool is free, you can download it &lt;a href="http://www.serviceportals.de/download/tools/Wss3PdfSearchCheck.zip"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=18108" width="1" height="1" alt="" /&gt;
			&lt;hr&gt;&lt;span style="font-size:10pt;"&gt;Posted on &lt;a href="http://www.sharepointblogs.com/"&gt;SharePoint Blogs&lt;/a&gt;&lt;/span&gt;
		  &lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=1491" width="1" height="1"&gt;</content><author><name>odi</name><uri>http://www.sharepointblogs.com/members/odi.aspx</uri></author></entry><entry><title>Datenimport, Ersteller und Erstellt-Datum</title><link rel="alternate" type="text/html" href="http://www.sharepointblogs.com/odi/archive/2007/01/10/datenimport-ersteller-und-erstellt-datum.aspx" /><id>http://www.sharepointblogs.com/odi/archive/2007/01/10/datenimport-ersteller-und-erstellt-datum.aspx</id><published>2007-01-10T21:38:00Z</published><updated>2007-01-10T21:38:00Z</updated><content type="html">&lt;p&gt;Um Daten von einem SharePoint-Web in ein anderes SharePoint-Web zu transportieren, habe ich ein kleines Tool erstellt, mit dem der Inhalt einer Liste oder Bibliothek&amp;nbsp;in eine XML-Datei exportiert werden kann. Hierbei werden alle Attribute eines Listeneintrags mitgenommen, auch wenn sie auf readonly gesetzt sind.&lt;/p&gt;  &lt;p&gt;Das gleiche Tool bietet mir die Möglichkeit, die Daten wieder zu importieren, wobei auch eine Mapping-Tabelle angegeben werden kann, wenn Feldnamen geändert wurden. Die Performance ist zwar nicht berauschend, aber man kann ja nicht alles haben. Mit diesem Tool haben wir unsere SharePoint-Installation von v2.0 nach v3.0 umgestellt.&lt;/p&gt;  &lt;p&gt;Eines ist bei einem solchen Import sehr unschön: die Information, wann ein Eintrag erstellt wurde, und durch wen er erstellt wurde wird von SharePoint automatisch gefüllt. Die Felder sind readonly, und auch wenn das readonly-Attribut an den betreffenden Feldern&amp;nbsp;umgestellt wird, schreibt SharePoint gnadenlos seine Informationen in die Felder. Damit kann ich zwar schön sehen wann ich importiert habe, aber als Ersteller ist jetzt auch immer der Administrator eingetragen. Wenn die Entstehung der Daten zurückverfolgt werden soll, dann ist diese Arbeitsweise sehr störend.&lt;/p&gt;  &lt;p&gt;Ich werde noch ein wenig darüber nachdenken, aber ich glaube im Moment, dafür gibt es keine vernünftige Lösung (außer direkt in die Datenbank zu schreiben, was ich eigentlich vermeiden will). &lt;/p&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=17714" width="1" height="1" alt="" /&gt;
			&lt;hr&gt;&lt;span style="font-size:10pt;"&gt;Posted on &lt;a href="http://www.sharepointblogs.com/"&gt;SharePoint Blogs&lt;/a&gt;&lt;/span&gt;
		  &lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=1492" width="1" height="1"&gt;</content><author><name>odi</name><uri>http://www.sharepointblogs.com/members/odi.aspx</uri></author></entry><entry><title>Logging in SharePoint v3</title><link rel="alternate" type="text/html" href="http://www.sharepointblogs.com/odi/archive/2006/10/17/logging-in-sharepoint-v3.aspx" /><id>http://www.sharepointblogs.com/odi/archive/2006/10/17/logging-in-sharepoint-v3.aspx</id><published>2006-10-17T18:02:00Z</published><updated>2006-10-17T18:02:00Z</updated><content type="html">&lt;p&gt;Einer unserer Entwickler hat in den letzten Tagen ein wenig schlechte Laune bekommen, weil die Festplatte in seinem Virtual PC Image (wir entwickeln in diesen Images, weil dann leichter zwischen verschiedenen Umgebungen umgeschaltet werden kann) voll wurde, und er noch nicht einmal mehr die Sicherheits-Patches von Microsoft installieren konnte. Er ist gerade dabei unsere Anwendung von SharePoint v2 auf SharePoint v3 umzustellen, und arbeitet dafür mit der Beta 2 bzw. dem B2TR.&lt;/p&gt;  &lt;p&gt;Irgendwie konnte ich mir nicht vorstellen, dass die Festplatte so schnell voll wird, zumal eine Installation von Office 2007 B2TR, Sharepoint Designer 2007 B2TR und Windows SharePoint Services 2007 B2TR inkl. Windows Server 2003, SQL Server 2005 und Visual Studio 2005 ca. 11 GB belegt. Also haben wir uns die Verzeichnisse in seinem Virtual PC mal genauer angesehen, und siehe da, in &amp;quot;%CommonProgramFiles%\Microsoft Shared\web server extensions\12\LOGS&amp;quot; waren ca. 4 GB Log-Dateien enthalten. Für diese Datenmenge hat es nur wenige Tage gebraucht.&lt;/p&gt;  &lt;p&gt;Ich habe noch keinen Schalter gefunden, mit dem die Log-Dateien komplett abgeschaltet werden können, aber über die &amp;quot;SharePoint 3.0-Zentraladministration&amp;quot; kann unter Vorgänge &amp;gt; Protokollierung und Berichterstellung &amp;gt; Diagnoseprotokollierung im Abschnitt &amp;quot;Ablaufverfolgungsprotokoll&amp;quot; die Anzahl der Protokolldateien und auch die Anzahl der Minuten je Protokolldatei eingestellt werden. Werden diese Werte recht klein gewählt, werden zwar immer noch Log-Dateien angelegt und gefüllt, aber die Datenmenge wird deutlich reduziert.&lt;/p&gt;  &lt;p&gt;Ich wünsche mir, dass Microsoft dies in der RTM von Hause aus reduziert, sodass nicht bei jeder Installation diese Log-Einstellungen geändert werden müssen.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=14169" width="1" height="1" alt="" /&gt;
			&lt;hr&gt;&lt;span style="font-size:10pt;"&gt;Posted on &lt;a href="http://www.sharepointblogs.com/"&gt;SharePoint Blogs&lt;/a&gt;&lt;/span&gt;
		  &lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=1493" width="1" height="1"&gt;</content><author><name>odi</name><uri>http://www.sharepointblogs.com/members/odi.aspx</uri></author></entry><entry><title>Code Access Security mit Solutions in SharePoint v3</title><link rel="alternate" type="text/html" href="http://www.sharepointblogs.com/odi/archive/2006/08/31/code-access-security-mit-solutions-in-sharepoint-v3.aspx" /><id>http://www.sharepointblogs.com/odi/archive/2006/08/31/code-access-security-mit-solutions-in-sharepoint-v3.aspx</id><published>2006-08-31T17:34:00Z</published><updated>2006-08-31T17:34:00Z</updated><content type="html">&lt;p&gt;&lt;font face="Verdana"&gt;Ich will mich hier zwar überwiegend mit der Administration von SharePoint auseinandersetzen, aber man muss auch über den Tellerrand schauen. In diesem Zusammenhang stolpert man unweigerlich über die &amp;quot;Code Access Security&amp;quot; (CAS), die für Webparts wichtig ist, die irgendwie auf Resourcen (z.B. das Active Directory) zugreifen wollen. Mit SharePoint v2 bricht man sich so ziemlich die Finger, auch wenn es recht gute Artikel und Blogs dazu gibt. Mit SharePoint v3 soll jetzt alles besser werden, und Maurice Prather hat hierzu einen wirklich guten &lt;a href="http://www.bluedoglimited.com/SharePointThoughts/ViewPost.aspx?ID=249"&gt;Artikel&lt;/a&gt; verfasst. Das schöne an diesem neuen Feature in SharePoint v3: jetzt kann der Entwickler sein Webpart (seine Solution) verpacken, und muss sich um die korrekten Einstellungen kümmern. Wir Admins brauchen es nur noch zu installieren &lt;img src="http://www.sharepointblogs.com/emoticons/emotion-1.gif" alt="smile" /&gt;. Nichts mehr mit web.config editieren, oder gar den Trust Level auf Full setzen.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=11745" width="1" height="1" alt="" /&gt;
			&lt;hr&gt;&lt;span style="font-size:10pt;"&gt;Posted on &lt;a href="http://www.sharepointblogs.com/"&gt;SharePoint Blogs&lt;/a&gt;&lt;/span&gt;
		  &lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=1494" width="1" height="1"&gt;</content><author><name>odi</name><uri>http://www.sharepointblogs.com/members/odi.aspx</uri></author></entry><entry><title>Cannot connect to the configuration database</title><link rel="alternate" type="text/html" href="http://www.sharepointblogs.com/odi/archive/2006/08/30/cannot-connect-to-the-configuration-database.aspx" /><id>http://www.sharepointblogs.com/odi/archive/2006/08/30/cannot-connect-to-the-configuration-database.aspx</id><published>2006-08-30T18:01:00Z</published><updated>2006-08-30T18:01:00Z</updated><content type="html">&lt;p&gt;&lt;font face="Verdana"&gt;Mitch Milam hat einen interessanten &lt;/font&gt;&lt;font face="Verdana"&gt;&lt;a href="http://blogs.infinite-x.net/2006/05/30/comment-on-ms-kb-article-823287/"&gt;Artikel&lt;/a&gt;&lt;/font&gt;&amp;nbsp;&lt;font face="Verdana"&gt;verfasst, der sich mit der Problematik beschäftigt, dass beim Zugriff via STSADM eine Fehlermeldung erscheint, dass&amp;nbsp;auf die&amp;nbsp;Konfigurationsdatenbank nicht zugegriffen werden kann.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Verdana"&gt;Grob zusammengefasst: der Benutzer, der mit STSADM arbeitet braucht Zugriffsrechte auf den SQL Server auf dem die Datenbank(en) liegt.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=11708" width="1" height="1" alt="" /&gt;
			&lt;hr&gt;&lt;span style="font-size:10pt;"&gt;Posted on &lt;a href="http://www.sharepointblogs.com/"&gt;SharePoint Blogs&lt;/a&gt;&lt;/span&gt;
		  &lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=1495" width="1" height="1"&gt;</content><author><name>odi</name><uri>http://www.sharepointblogs.com/members/odi.aspx</uri></author></entry><entry><title>Sichern einer SharePoint Datenbank</title><link rel="alternate" type="text/html" href="http://www.sharepointblogs.com/odi/archive/2006/07/28/sichern-einer-sharepoint-datenbank.aspx" /><id>http://www.sharepointblogs.com/odi/archive/2006/07/28/sichern-einer-sharepoint-datenbank.aspx</id><published>2006-07-28T18:52:00Z</published><updated>2006-07-28T18:52:00Z</updated><content type="html">&lt;p&gt;&lt;font face="Verdana"&gt;Wer sich bei Microsoft die Windows SharePoint Services (WSS) herunterlädt, erhält für die Datenhaltung eine Microsoft Data Engine (MSDE)&amp;nbsp;mitgeliefert, eigentlich ein vollwertiger SQL Server 2000, der aber zumindest um seine grafischen Administrationswerkzeuge beraubt wurde. In der gleichen Situation ist der Administrator eines Windows 2003 Small Business Server.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Verdana"&gt;Wie mache ich jetzt am geschicktesten ein Backup von den SQL-Datenbanken? Über STSADM regelmäßig eine Sicherung einer Site zu machen, ist sicherlich eine Option (ich werde mich dazu demnächst noch äußern), aber spätestens, wenn es mehrere Sites gibt, und vor allem nicht kontrolliert werden kann, wie und wann neue Sites angelegt werden, wird es mit einer Sicherung via STSADM schwierig.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Verdana"&gt;Eine (aus Administrator-Sicht vernünftige) Variante ist die Sicherung der SQL-Datenbanken. Da mit der MSDE wenigstens das Administrationswerkzeug OSQL mitgeliefert wird, sind wir immerhin in der Lage, den SQL Server mit Befehlen zu füttern. Da bietet es sich doch an, eine Batchdatei anzufertigen, die regelmäßig eine Sicherung einer SQL-Datenbank anfertigt. Ein Batch zum Sichern kann so aussehen:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;@ECHO OFF&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;REM ***********************************************************************************&lt;br /&gt;REM&lt;br /&gt;REM DBBACKUP&lt;br /&gt;REM ========&lt;br /&gt;REM&lt;br /&gt;REM written by SPO/odi, 07/2006&lt;br /&gt;REM&lt;br /&gt;REM Backup the database or the transaction log of a SQL Server database using OSQL.&lt;br /&gt;REM Runs also with MSDE and WMSDE.&lt;br /&gt;REM&lt;br /&gt;REM ***********************************************************************************&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;ECHO.&lt;br /&gt;ECHO DBBACKUP&lt;br /&gt;ECHO --------&lt;br /&gt;ECHO.&lt;br /&gt;ECHO by SPO/odi, 07/2006&lt;br /&gt;ECHO.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;IF &amp;quot;%1&amp;quot;==&amp;quot;&amp;quot; GOTO SYNTAX&lt;br /&gt;IF &amp;quot;%2&amp;quot;==&amp;quot;&amp;quot; GOTO SYNTAX&lt;br /&gt;IF &amp;quot;%3&amp;quot;==&amp;quot;&amp;quot; GOTO SYNTAX&lt;br /&gt;IF &amp;quot;%4&amp;quot;==&amp;quot;&amp;quot; GOTO SYNTAX&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;IF /I &amp;quot;%1&amp;quot;==&amp;quot;DB&amp;quot; GOTO BACKUP_DB&lt;br /&gt;IF /I &amp;quot;%1&amp;quot;==&amp;quot;TRANS&amp;quot; GOTO BACKUP_TRANS&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;GOTO SYNTAX&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;:BACKUP_DB&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;SET DATABASE=%2&lt;br /&gt;SET BACKUPPATH=%3&lt;br /&gt;SET SERVER=%4&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;SET BACKUPFILE=%BACKUPPATH%\%DATABASE%.bak&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;SET BACKUPFILE=%BACKUPFILE:[=%&lt;br /&gt;SET BACKUPFILE=%BACKUPFILE:]=%&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;IF &amp;quot;%SERVER%&amp;quot;==&amp;quot;&amp;quot; GOTO BACKUP_DB_NO_INSTANCE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;OSQL -E -S %SERVER% -Q &amp;quot;Backup Database %DATABASE% to disk=&amp;#39;%BACKUPFILE%&amp;#39; with init&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;GOTO ENDE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;:BACKUP_DB_NO_INSTANCE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;OSQL -E -Q &amp;quot;Backup Database %DATABASE% to disk=&amp;#39;%BACKUPFILE%&amp;#39; with init&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;GOTO ENDE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;:BACKUP_TRANS&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;SET DATABASE=%2&lt;br /&gt;SET BACKUPPATH=%3&lt;br /&gt;SET SERVER=%4&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;SET BACKUPFILE=%BACKUPPATH%\%DATABASE%.trn&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;SET BACKUPFILE=%BACKUPFILE:[=%&lt;br /&gt;SET BACKUPFILE=%BACKUPFILE:]=%&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;IF &amp;quot;%SERVER%&amp;quot;==&amp;quot;&amp;quot; GOTO BACKUP_TRANS_NO_INSTANCE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;OSQL -E -S %SERVER% -Q &amp;quot;Backup Transaction %DATABASE% to disk=&amp;#39;%BACKUPFILE%&amp;#39; with init&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;GOTO ENDE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;:BACKUP_TRANS_NO_INSTANCE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;OSQL -E -Q &amp;quot;Backup Transaction %DATABASE% to disk=&amp;#39;%BACKUPFILE%&amp;#39; with init&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;GOTO ENDE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;:SYNTAX&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;ECHO Syntax:&lt;br /&gt;ECHO.&lt;br /&gt;ECHO DBBACKUP DB database backuppath servername : backup the database&lt;br /&gt;ECHO.&lt;br /&gt;ECHO DBBACKUP TRANS database backuppath servername : backup the transaction log&lt;br /&gt;ECHO.&lt;br /&gt;ECHO Example:&lt;br /&gt;ECHO&amp;nbsp;&amp;nbsp; DBBACKUP DB master c:\backup myserver\sharepoint&lt;br /&gt;ECHO.&lt;br /&gt;ECHO&amp;nbsp;&amp;nbsp; Will backup the database &amp;#39;master&amp;#39; from the SQL Server at &amp;#39;myserver\sharepoint&amp;#39;&lt;br /&gt;ECHO&amp;nbsp;&amp;nbsp; to the directory &amp;#39;c:\backup&amp;#39;.&lt;br /&gt;ECHO.&lt;br /&gt;ECHO If the databasename contains special characters like &amp;#39;-&amp;#39;, use brackets around the &lt;br /&gt;ECHO databasename ([my-db]).&lt;br /&gt;ECHO.&lt;br /&gt;:ENDE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;SET DATABASE=&lt;br /&gt;SET BACKUPPATH=&lt;br /&gt;SET BACKUPFILE=&lt;br /&gt;SET SERVER=&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Verdana"&gt;Die Wiederherstellung muss natürlich genauso funktionieren. Eine Batchdatei für die Wiederherstellung so gesicherter Datenbanken, kann wie folgt aussehen:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;@ECHO OFF&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;REM ***********************************************************************************&lt;br /&gt;REM&lt;br /&gt;REM DBRESTORE&lt;br /&gt;REM =========&lt;br /&gt;REM&lt;br /&gt;REM written by SPO/odi, 07/2006&lt;br /&gt;REM&lt;br /&gt;REM Backup the database or the transaction log of a SQL Server database using OSQL.&lt;br /&gt;REM Runs also with MSDE and WMSDE.&lt;br /&gt;REM&lt;br /&gt;REM ***********************************************************************************&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;ECHO.&lt;br /&gt;ECHO DBRESTORE&lt;br /&gt;ECHO ---------&lt;br /&gt;ECHO.&lt;br /&gt;ECHO by SPO/odi, 07/2006&lt;br /&gt;ECHO.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;IF &amp;quot;%1&amp;quot;==&amp;quot;&amp;quot; GOTO SYNTAX&lt;br /&gt;IF &amp;quot;%2&amp;quot;==&amp;quot;&amp;quot; GOTO SYNTAX&lt;br /&gt;IF &amp;quot;%2&amp;quot;==&amp;quot;&amp;quot; GOTO SYNTAX&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;SET DATABASE=%1&lt;br /&gt;SET RESTOREPATH=%2&lt;br /&gt;SET SERVER=%3&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;IF &amp;quot;%SERVER%&amp;quot;==&amp;quot;&amp;quot; SET SERVER=COMPUTERNAME&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;SET RESTOREFILE_DB=%RESTOREPATH%\%DATABASE%.bak&lt;br /&gt;SET RESTOREFILE_TRN=%RESTOREPATH%\%DATABASE%.trn&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;SET RESTOREFILE_DB=%RESTOREFILE_DB:[=%&lt;br /&gt;SET RESTOREFILE_DB=%RESTOREFILE_DB:]=%&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;SET RESTOREFILE_TRN=%RESTOREFILE_TRN:[=%&lt;br /&gt;SET RESTOREFILE_TRN=%RESTOREFILE_TRN:]=%&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;IF EXIST %RESTOREFILE_TRN% GOTO RESTORE_WITH_TRN&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;ECHO Restore database %DATABASE% ...&lt;br /&gt;ECHO.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;OSQL -E -S %SERVER% -Q &amp;quot;Restore Database %DATABASE% from disk=&amp;#39;%RESTOREFILE_DB%&amp;#39; with recovery&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;GOTO ENDE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;:RESTORE_WITH_TRN&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;ECHO Restore database and transaction log for %DATABASE% ...&lt;br /&gt;ECHO.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;OSQL -E -S %SERVER% -Q &amp;quot;Restore Database %DATABASE% from disk=&amp;#39;%RESTOREFILE_DB%&amp;#39; with norecovery&amp;quot;&lt;br /&gt;OSQL -E -S %SERVER% -Q &amp;quot;Restore Log %DATABASE% from disk=&amp;#39;%RESTOREFILE_TRN%&amp;#39; with recovery&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;GOTO ENDE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;:SYNTAX&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;ECHO The script will look into the backuppath. If only a file named {database}.bak&lt;br /&gt;ECHO is found, just the database will be restored. If also a file named&lt;br /&gt;ECHO {database}.trn is found, the database and the transaction log are restored.&lt;br /&gt;ECHO.&lt;br /&gt;ECHO Syntax:&lt;br /&gt;ECHO.&lt;br /&gt;ECHO DBRESTORE database backuppath servername : restore the database&lt;br /&gt;ECHO.&lt;br /&gt;ECHO.&lt;br /&gt;ECHO Example:&lt;br /&gt;ECHO&amp;nbsp;&amp;nbsp; DBRESTORE master c:\backup myserver\sharepoint&lt;br /&gt;ECHO.&lt;br /&gt;ECHO&amp;nbsp;&amp;nbsp; Will restorethe database &amp;#39;master&amp;#39; on the SQL Server at &amp;#39;myserver\sharepoint&amp;#39;&lt;br /&gt;ECHO&amp;nbsp;&amp;nbsp; from directory &amp;#39;c:\backup&amp;#39;.&lt;br /&gt;ECHO.&lt;br /&gt;ECHO If the databasename contains special characters like &amp;#39;-&amp;#39;, use brackets around the &lt;br /&gt;ECHO databasename ([my-db]).&lt;br /&gt;ECHO.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;:ENDE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;SET DATABASE=&lt;br /&gt;SET RESTOREPATH=&lt;br /&gt;SET RESTOREFILE_DB=&lt;br /&gt;SET RESTOREFILE_TRN=&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Verdana"&gt;Mit Hilfe der Geplanten Tasks der Systemsteuerung kann so ein regelmäßiges Backup der Datenbank angelegt werden. Wenn z.B. auf einem Windows 2003 Small Business Server mit diesen Hilfsmitteln die SharePoint-Datenbank gesichert wird, dann kann die Sicherungsdatei mit dem normalen Datei-Backup auf ein Band geschrieben werden.&lt;/p&gt;&lt;/font&gt;  &lt;p&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=9557" width="1" height="1" alt="" /&gt;
			&lt;hr&gt;&lt;span style="font-size:10pt;"&gt;Posted on &lt;a href="http://www.sharepointblogs.com/"&gt;SharePoint Blogs&lt;/a&gt;&lt;/span&gt;
		  &lt;img src="http://www.sharepointblogs.com/aggbug.aspx?PostID=1496" width="1" height="1"&gt;</content><author><name>odi</name><uri>http://www.sharepointblogs.com/members/odi.aspx</uri></author></entry></feed>