Hallo zusammen,

ein weiterer kleiner Beitrag zum Thema “Was beeinflusst die SharePoint Performance”. Da heute eigentlich jeder über ein Gigabit Netzwerk im Rechenzentrum verfügt, möchte ich den Netzwerklayer überspringen. Natürlich sollten die SharePoint Webfrontend Server in der nähe des Datenbankserver stehen, sodass die Latenz nicht zu groß wird. Müssen die SharePoint Inhalte über große Distanzen verteilt werden, würde ich auf Branch Cache oder Content Deployment (leider nur read-only) zurückgreifen. Zu Branch Cache im höheren Layer mehr Infos. 
image
Authentifizierung: Die Authentifizierung zwischen Webfrontend Server und dem Datenbankserver erfolgt bei SQL 2008 mit NTLM. Es sei denn, man lässt den SQL Server unter einem Domain Admin starten (bitte nicht!!) oder man hat den Service Principal Name – kurz SPN – gesetzt. Dann wird nämlich Kerberos authentifiziert. In SQL 2012 muss man sich in der Regel ebenfalls keine Gedanken, da MSA (Managed Service Accounts) erzeugt werden und diese automatisch gesetzt sind. Das Domain-Schema des Active Directory muss für MSAs aber Windows 2008R2 sein.

In Umgebungen in den SQL 2008 verwendet wird und der SPN nicht gesetzt ist, sollte beim Ausführen des folgenden SQL Stamentes im Management Studio

“ selct auth_scheme from sys.dm_exec_connections order by auth_scheme”

diese Ausgabe erscheinen:
image
Damit die Verbindung mit der Kerberos Authentifizierung aufgenommen wird, muss auf dem Service Account des SQL Server, der SPN gesetzt werden:

Mit dem Taskmanager oder dem SQL Configuration Manager kann man den Service User ermitteln:

imageimage

Danach kann man entweder per SETSPN (setspn –A MSSQLSvc/<SQL Server-Computername>:1433 <DomäneKonto>.) oder über die Konsole “Active Directory Users  and Computers” den SPN setzen.

Via “Active Directory Users and Computers”:

In der AD Konsole muss zunächst die Ansicht “Advanced Features”  aktiviert werden. In den Eigenschaften des Benutzers kann dann im Attribut “Service Principal Name” der SPN für den SQL Service gesetzt werden:

image

Für meinen SQL Server (Standard Instanz) ist das:

MSSQLSvc/foundationsql.foundationdemo.local:1433

Aufbau: MSSQLSvc/<FQDN FÜR SQL Server>:1433

1433 ist der Default SQL Port. Dieser wurde ggf. bereits angepasst. Das lässt sich aber auch über den SQL Configuration Manager ermitteln:

image

Nach einem Neustart sollte dann das SQL Statement folgende Ausgabe liefern:

image

Mit Kerberos ist die  Authentifizierung einen kleinen Tick schneller und sicherer. In einer höheren Schicht müssen wir erneut, dann für HTTP, eine Konfiguration für Kerberos vornehmen.

Beste Grüße, Tobias Wolter