Living a SharePoint life

Showing posts with label Sharepoint 2007. Show all posts
Showing posts with label Sharepoint 2007. Show all posts

Monday, September 14, 2015

Trickshots: Testing a SQL connection quick and easy

Did you ever need to test a SQL connection? As a SharePoint Pro you probably have. I found a nice little trick on Steve Rachui's Blog today I’d like to share with you.

Create a new text file on the desktop of the machine you will try to connect to the SQL server. Name the file whatever you like, but rename the file into UDL. Double click on the file and a dialog pops up with SQL connection settings. Enter your connection settings and use the Test Connection button in the lower end of the dialog.

If you need to test a different SQL server port (not 1433), simply create a SQL alias on the machine and test against the alias.

Thursday, November 20, 2014

Remove the performance breaks when using VMWare 5.0 and Windows Cluster services


There are probably a lot of SharePoint Farms that use a Microsoft SQL cluster. Even now with new possibilities like Always-On for SQL 2012. But not only if you use SharePoint might this be of interest for you.

About a year ago, a customer of mine had some very bad performance with his SQL Server. The SQL was version 2008 R2 using the Windows Cluster Service hosted on a VMWare ESX 5.0 private cloud. Nothing unusual and of course the first thoughts were pointing to the VMWare servers. But let’s take a look at the performance test we performed on the cluster.

Wednesday, November 19, 2014

Log Parser Studio 2.2

Log files are a hassle. Too many entries and bad formatting make it a challenge to work with logs. So if you are already familiar with Microsofts LogParser, you’ll love to hear that there is an even better way to work with Log files.

Log Parser Studio is a Windows Tool that uses LogParser and gives you a GUI to work with. This way it's easier to create adhoc reports of your logfiles. You can export the query as a script and then automate your tasks.
http://gallery.technet.microsoft.com/office/Log-Parser-Studio-cd458765

LogParser
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=24659

Getting Started with the Log Parser Studio
http://blogs.technet.com/b/karywa/archive/2013/04/21/getting-started-with-log-parser-studio.aspx

Thursday, September 25, 2014

Opening Word file from SharePoint 2010 causes Office to crash

Today I wasn’t able to open a Word file from the SharePoint Server. Every time I opened the document from the server, Word crashed. Saving the file to disk and opening it then worked just fine. What made it even worse was that SharePoint thought the file was opened exclusive for my user account and I couldn’t do any action on the file on the server e.g. deleting. Bugs! I don’t like them, but it’s always a good feeling when you found out how to get rid of ‘em.

Thursday, July 31, 2014

Creating a bookshelf with the Content Query Webpart in SharePoint

A lot of information these days comes in form of an eBook or similar format like a simple PDF. In SharePoint the easiest way to present this information to the user is as a list. For the more ambitious there is the metadata navigation, which brings a lot of beauty for handling list content. I will use a more sophisticated approach via the Content Query Webpart (CQWP) to present the information like books on the bookshelf.


Preparation


Before we can start, we’ll need to step back for a moment and think about the data structure we’ll need in order to support the view we are creating here. There are a few questions you must ask yourself:

  • Where and in which document library will you store you eBooks?
  • Will you mix different content types in that document library or will you create a new library for every document type?

In my case, I have more documents other than just eBooks. I’ve decided to keep all documents in a single document library and to identify the documents by their content type. Therefore, one of the first steps will be to create the library, the columns and the content type.
This post is

Thursday, July 17, 2014

How to identify which w3wp.exe process belongs to which Application Pool in IIS

I received an e-mail today, where I was asked how to identify the IIS Application Pool and the corresponding w3wp.exe process. Actually it doesn’t need much and no extra tools are needed.

  1. Open the Windows Task Manager by right clicking on the Taskbar and selecting Start Task Manager
  2. In the Menu, open View / Select Columns…
  3. Search the list for Command Line and enable the check box

  4. Look for the w3wp.exe processes and expand the column for the command line

As you can see, the process is started with the name of the Application Pool in the IIS management console
This post is

Wednesday, July 9, 2014

Configuring the Content Query Webpart to use seperate xslt template files

The Content Query Web Part is without doubt one of the most powerful webparts that come along with SharePoint. And because there are so many bits you can tweak, it’s probably one of the most complex as well.

As you might know I’ve used the CQWP in the past to create a calendar view for Milestones and Events. For these changes I’ve added the new templates directly into the existing ItemStyle.xsl file. Even thou this is a valid way to do it, I was a bit unhappy with the solution, because you always need to manipulate a SharePoint original file. If you make a mistake, you might brick all of your other CQWP used in the SiteCollection. So there has to be a better way to do this.
This post is


Wednesday, May 28, 2014

Pictures of the European SharePoint Conference 2014

Like last year I've visited the European SharePoint Conference. This year the conference took place in Barcelona and I must admit it's a very interessting place to be. If you have never been to Barca so far, you should add it to your list. So far here are a few impression from this years event.

Arrival in Barcelona

The conference place from outside

The lobby of the conference place

Check-In and grab your gear

These two guys were having a bath in the morning

Break time in the hotel garden

Keynotes

Jumping between the sessions

People twittering IRL

More chatting going on

The exhibitors are waiting for us

Session in progress

Girls just want'a have fun

Gala dinner

Av. Diagonal

1st Place in the AvePoint Walk Challenge

La sagrada familia
Impressive from the outside and even more from the inside

Fontana Magica in all it's glory

You might get wet

Ops :)

Best Tapas in town. Trust me!

View from Montjuïc

The BFG9000

Castell de Montjuïc

Looking down from Castell de Montjuïc on the city

People in the streets are having a party

The Barcalona lizard

Entrance to Park Güell

The grand staircase

Sunday, February 2, 2014

Update on InfoPath and SharePoint Forms

As Microsoft has announced on their blog, Infopath will be discontinued after the version 2013. This means the next version of SharePoint will not support the Infopath Forms Services. However they are already investigating in an alternative. This will be necessary for several reasons.

Thursday, September 26, 2013

Why should you prefer A-records over CName in SharePoint

You might have heard that somebody was suggestion to use A-records for DNS instead of CName for your SharePoint installation. This question is often asked to me when I’m in class.

The reason for this is an authentication issue you might experience when using Kerberos and SharePoint. And since SharePoint 2013, were NTLM is deprecated, this issue might hit you when planning an update of your farm. More details can be found in the following Technet article:

Friday, March 22, 2013

Ermitteln der IO Leistungsfähigkeit eines Windows Servers


Für den Betrieb einer SharePoint Farm ist ein funktionierender Microsoft SQL Server unabdingbar. Ohne geht es nicht. Deshalb bin ich der Meinung, dass es für uns Administratoren wichtig ist sich mit den Grundlagen des SQL Server vertraut zu machen. Wer einen DBA im Haus hat, der ihm die Arbeit abnimmt, ist an dieser Stelle fein raus ;) Der folgende Beitrag richtet sich daher vor allem an SharePoint Administratoren, die keinen SQL Speziallisten zur Hand haben.

Über die Installation und Konfiguration des Servers gibt es ausreichende Informationen. Sei es auf den TechNet Seiten, in Blogs, Zeitschriften oder Bücher. Eine Situation die ich aber häufiger einmal antreffe ist, dass das Thema Performance der SharePoint Farm viel zu spät oder gar nicht betrachtet wird. Da bei einer SharePoint Farm die Leistungsfähigkeit des SQL Clusters, im besonderen die der Festplatten, maßgeblich die Leistungsfähigkeit der SharePoint Farm beeinflusst, lohn es sich in jedem Fall hier zu Überprüfen ob alles so ist wie es sein soll.

Natürlich gibt es bei einer SharePoint Farm noch eine ganze Reihe weiterer Stellschrauben um die Performance zu verbessern. Ziel in diesem Beitrag soll es aber sein, die IO Leistung der Festplatten im SQL Server zu ermitteln. Dazu muss auf den Servern ein Last-Test durchführen und die durchschnittlichen Lese- und Schreibegeschwindigkeit, die IOPS Leistung und Latenz erfasst werden.

Überwachung der Leistungswerte


Warum ist es aber für den späteren Betrieb wichtig diese Werte im Vorfeld zu erfassen und zu dokumentieren? Bei der Überwachung eines Servers kann die Überwachung in zwei Kategorien unterteilt werden:
  • Reaktiv
  • Progressiv
Bei der reaktiven Überwachung wird auf die Änderung eines Indikators reagiert und z.B. eine Benachrichtigung versendet. Icinga ist so eine Lösung. Dabei werden in festgelegten Intervallen ein oder mehrere Dienste überwacht. Wenn sich dieser dann außerhalb der vordefinierten Parameter bewegt, wird Alarm ausgelöst.

Auf der anderen Seite haben wir die progressive Überwachung. Progressiv bedeutet in diesem Fall nicht, dass die Werte in der Überwachung immer weiter steigen, sondern der Begriff bezieht sich auf den zeitlichen Verlauf der Überwachung, also der fortlaufenden Überwachung. Dabei werden verschiedene Leistungswerte eines Servers langfristig protokolliert. Dies wird gemacht um langfristige Trends des Servers erfassen zu können. Die Windows Leistung Sammelungssätze sind ein sehr gutes Beispiel hierfür. Erst durch die Langzeiterfassung können wir erkennen potenzielle Probleme erkennen, dass z.B. die Netzwerkschnittstelle über Monate hinweg immer mehr und mehr Daten transportieren muss und bald die Kapazitätsgrenze erreicht ist.

Nun ist die Leistungsgrenze einer Netzwerkkarte verhältnismäßig  einfach zu ermitteln, da sich diese errechnen lässt. Eine 1Gbit/s Karte wird im Schnitt nicht mehr als 100MB/s transportieren können. Wie sieht es aber bei den Laufwerken aus. Auch hier könnten wir anhand der Datenblätter des Herstellers des SAN bzw. der Platten ungefähr ausrechnen was unser System leisten kann. Bei einem Festplattenspeicher spielen aber noch viel mehr Faktoren eine Rolle, welche sich auf die Leistungsfähigkeit auswirken können. Es ist daher einfacher das System aufzubauen und dann die Gesamtleistung, im Rahmen eines Lasttests, zu erfassen. Diese Leistungsgrenze wird im Englischen auch als “Baseline” bezeichnet. Mit Hilfe der Baseline können wir also in Zukunft, bei der progressiven Überwachung der Server, feststellen ob unser System an seine Leistungsgrenze kommt.

Festlegen der Indikatoren


Um die Baseline erfassen zu können, müssen wir überhaupt erst einmal festlegen, welche Leistungswerte in Zukunft aussagekräftige Informationen über die Leistung unseres Servers bereitstellen. Die Werte ermitteln wir mit Hilfe des Windows Leistungsindikatoren. Wer noch nicht mit den Leistungsindikatoren gearbeitet hat, dem empfehle ich die Artikel zur Einrichtung im TechNet vorher durchzuarbeiten.

Erste Schritte mit der Leistungsüberwachung (http://technet.microsoft.com/de-de/library/dd744567(v=ws.10).aspx)

IOPS



Die Abkürzung IOPS steht für den englischen Begriff “Input/Output Operations” per Second. Diese Angabe beschreibt die Fähigkeit des Datenbusses Kommunikationsbefehle zwischen dem Betriebssystem und dem Speichermedium zu transportieren. Die Angabe für sich alleine ist noch nicht sehr aussagekräftig, denn es gibt viele verschiedene Faktoren die berücksichtigt werden müssen. Ein wesentlicher Faktor ist die Größe der übermittelten Datenblöcke, welche bei einer I/O Operation transportiert wird. Um z.B. 100 MB in 16 kB Blöcken zu übertragen, muss das System doppelt so viele IOPS ausführen als wenn 32 kB Blöcke verwendet werden.


Indikator Beschreibung
Durchschnittl. Warteschlangenlängenlänge des Datenträgers-Lesend Die durchschnittliche Anzahl der Leseanforderungen, die für den gewählten Datenträger während des Abtastintervalls in der Warteschlange aufgenommen wurden.
Durchschnittl. Warteschlangenlängenlänge des Datenträgers-Schreibend Die durchschnittliche Anzahl der Schreibanforderungen, die für den gewählten Datenträger während des Abtastintervalls in der Warteschlange aufgenommen wurden.
Lesevorgänge/s Die Rate von Lesevorgängen auf dem Datenträger.
Schreibvorgänge/s Die Rate von Schreibvorgängen auf dem Datenträger.

Transportleistung


Mit der Transportleistung wird die Fähigkeit beschrieben eine Anzahl an Daten in einem Zeitraum zu transportieren. Diese Werte werden für gewöhnlich mit Bytes oder Megabyte  pro Sekunde angegeben.


Indikator Beschreibung
Bytes gelesen/s Die Rate, mit der Bytes während Lesevorgängen vom Datenträger übertragen werden.
Bytes geschrieben/s Die Rate, mit der Bytes während Schreibvorgängen auf den Datenträger übertragen werden.
Mittlere Bytes/Lesevorgang Die durchschnittliche Anzahl der Bytes, die während Lesevorgängen vom Datenträger übertragen wurden.
Mittlere Bytes/Schreibvorgang Die durchschnittliche Anzahl der Bytes, die während Schreibvorgängen auf den Datenträger übertragen wurden.
Mittlere Sec./Lesevorgang Die durchschnittliche Zeitdauer in Sekunden für das Lesen von Daten auf dem Datenträger.
Mittlere Sec./Schreibvorgang Die durchschnittliche Zeitdauer in Sekunden für das Schreiben von Daten auf den Datenträger.
Teil-E/A/s Gibt die Teilungsrate der E/As auf dem Datenträger an. Ein E/A kann geteilt werden, wenn Daten angefordert werden, die zu groß für einen einzelnen E/A sind oder wenn der Datenträger fragmentiert ist.

 

Andere relevante Messwerte



Zusätzlich zu den Indikatoren die sich mit dem Speicher System beschäftigen, ist es ratsam  auch die Indikatoren der CPU und ggf. der Netzwerkkarte zu Protokollieren. Bei der CPU interessieren uns vor allem die Prozessorzeit (%), die Menge der Interrupts/s und DPC in Warteschlange/s je Core. Bei intensiver Last der Speichermedien sollte die Prozessorzeit nicht sonderlich ansteigen. Dies könnte zum Beispiel beim Einsatz von iSCSI passieren, wenn der HBA kein TCP Off-Load unterstützt. Dann nämlich muss die CPU den zusätzlichen TCP/IP Overhead bearbeiten. Wenn iSCSI verwendet wird kann man die Netzwerkkarte, die mit dem Target verbunden ist, mit in die Überwachung aufnehmen.

SQLIO


Nachdem jetzt festgelegt wurde welche Werte wir ermitteln wollen, müssen wir uns noch Gedanken machen wie wir Last auf das System bringen. Microsoft bietet uns hierfür ein eigenes Tool an, welches auf den Downloadseiten kostenfrei heruntergeladen werden kann.


Nachdem man SQLIO installiert hat, befindet sich im Programme-Verzeichnis ein neuer Ordner mit den Dateien. Da SQLIO von der Befehlszeile aus gestartet wird, öffnet man am besten eine neue Eingabeaufforderung und navigiert in das entsprechende Verzeichnis.

Parameter

Damit SQLIO funktionieren kann, müssen noch einige Parameter konfiguriert bzw. bei Start mitgegeben werden. Alle notwendigen Informationen, damit man brauchbare Ergebnisse erzielen kann, sind in der Datei readme.txt nachzulesen.

Da SQLIO immer nur ein Test zurzeit durchführen kann, muss man wenn unterschiedliche Parameter getestet werden sollen, den Vorgang mit einer Batchdatei automatisieren. Hierfür legt man am besten im Verzeichnis von SQLIO eine neue .bat Datei an und öffnet diese zum Bearbeiten. In jeder Zeile schreibt man dann die Parameter mit der man sein Test ausführen möchte. Beim Schreiben des Logs sollte man darauf achten, dass diese unterschiedliche Namen erhalten. SQLIO überschreibt die vorhandene Logdatei anstatt sie anzuhängen.

Beim festlegen der Größe der Testdatei, sollte man außerdem darauf achten, dass diese größer ist als der im SAN eingesetzte Cache. Grade beim sequenziellen Lesen der Data können sonst die Ergebnisse verfälscht werden.

...und Los

 Sobald die Windows Leistungsindikatoren konfiguriert sind und die Berichte aufgezeichnet werden, kann der SQLIO Batch gestartet werden. Das Ergebnis der Protokollierung kann zu kontrollzwecken ggf. ein zweites Mal gestartet werden. In jedem Fall sollte man die Leistungsdaten aufheben und in der Dokumentation des Servers protokollieren.

Fazit

Bevor eine neue SharePoint Farm in Betrieb genommen wird, sollte die Ermittlung der gesamten Leistungsfähigkeit des Datenspeichersystems erfolgen. Bei der Problemverfolgung, können diese Informationen dem Administrator helfen, zu verstehen wo ggf. ein Engpass vorliegt. Die Ermittlung der Leistungsfähigkeit kann mittels SQLIO, einem Tool von Microsoft, kostenfrei erfolgen.

Zusätzlich bietet der Einsatz von SQLIO die Möglichkeit, beim Server ein Burn-In Test durchzuführen. Dies sollte erfolgen, bevor Produktionsdaten eingespielt werden. Somit wird das Risiko gesenkt, fehlerhafte Festplatten zu verwenden.




Weitere interessante Artikel zum lesen:




Featured Post

How are Microsoft Search quota consumed?

With Office 365 Search, Microsoft has created a central entry point for the modern workplace. In one convenient spot, users can access all ...