SharePoint Farm-3 tier of architecture-Web Front End Server-High Availability, Load Balancing and Scalability

August 31, 2018

SharePoint Farm, have 3 tier of architecture, Web front end Server, Application Server and Database Server.
High Availability in SharePoint is implemented at the 3 levels. In database tier, multiple database server have Always On Availability Group to have HA. In Application Server tier, SharePoint Farm, implement HA internally itself.
For Web Front End Server, following are some of the options.
Options possible:
1. Hardware based Load Balancer like F5 , Citrix Netscaler, KEMP
 Plus Points:
o Sticky session
o Strong support for High Availability
o Excellent support for Load Balancing
o Best support for Scalability
 Negative Points:
o Cost for Hardware

2. Software based load Balancer like nginx and haproxy
 Plus Points:
o Sticky session
o Strong support for High Availability
o Excellent support for Load Balancing
o Best support for Scalability
 Negative Points:
o Cost comparatively less the Hardware solution
3. Windows Feature – Network Load Balancer
 Plus Points:
o Sticky session
o Cost Free – Part of Windows server
 Negative Points:
o Limited support for High Availability
o Limited support for Load Balancing
o Does not have good Scalability
o Does not support Multiple subnet IP based network
4. DNS Based Geographic distribution
Either via DNS policy (Reference: https://docs.microsoft.com/en-us/windows-server/networking/dns/deploy/app-lb )
Or core DNS Round Robin implementation
Not a real solution for HA and Load Balancing.
 Plus Points:
o Cost Free – Part of DNS Server (Windows server)
 Negative Points:
o No support for High Availability
o Limited support for Load Balancing
o Limited Scalability

Best of luck for SharePoint Farm with High Availability, Load Balancing and Scalability.

Advertisements

High availability architecture for SharePoint Farm with SQL Server Always on Availability Group-grant permission to account

July 31, 2018

Case:
Recently, I have been working with High availability architecture for SharePoint Farm with SQL Server Always on Availability Group as shown in below diagram.

Gives following error:
Database Mirroring login attempt by user ‘XXXX\YYYY$.’ failed with error: ‘Connection handshake failed. The login ‘XXXX\YYYY$’ does not have CONNECT permission on the endpoint. State 84.’. [CLIENT: 172.19.5.144]

Solution:
Need to grant permission to account which is failing to connect as per message in Errorlog.

GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [login_mirroring]
GO

Reference:
https://docs.microsoft.com/en-us/sql/database-engine/database-mirroring/database-mirroring-allow-network-access-windows-authentication?view=sql-server-2017


SharePoint 2016-CSOM-File Upload-via-ClientContext

February 27, 2018

Exception:
An unhandled exception of type 'System.Net.WebException' occurred in Microsoft.SharePoint.Client.dll Additional information: The remote server returned an error: (409) Conflict.

Code:
var clientContext = new ClientContext("http://myservername/sites/subsitename") { Credentials = LogonCredentials };
using (var fileStream = new FileStream(@"C:\Temp\Test.txt", FileMode.Open))
{
Microsoft.SharePoint.Client.File.SaveBinaryDirect(clientContext, "/MyDocLibraryName/Test_FromClientOM.txt", fileStream, true);
}

Reason :
• Context can be from Root site or from Sub site, does not make difference.
• Verify that Second parameter to .SaveBinaryDirect( method is right.
• API does not create a folder
• Note: Second parameter is path starting from Root Site, Not Sub site.
So ideally code should be like:
Microsoft.SharePoint.Client.File.SaveBinaryDirect(clientContext, “/sites/subsitename /MyDocLibraryName/MyFolderName/Test_FromClientOM.txt”, fileStream, true);

Enjoy SharePoint.


Free remote SharePoint online – Office 365 training – Part 3

January 21, 2018

Free remote SharePoint online – Office 365 training (3 sessions)
Participate in our free remote SharePoint online – Office 365 training.
First session 11/15/2017 – 6:00-8:00 PM Eastern time
The second session 11/22/2017 at 6:00 PM US Eastern time.
The third session 11/29/2017 at 6:00 PM US Eastern time.
Join the meeting:
https://join.me/aasoftech

Below are the link for the presentation-Recording:
(Third session)
https://recordings.join.me/KhYLlgbRTUSlAL8pIRA4Jg
https://recordings.join.me/NWD9_20C00a1ob_r3FTzcw

Download Third presentation from here.


Office 365 – Remote SharePoint online training course-Part-2-Overview

December 25, 2017

Free remote SharePoint online – Office 365 training (3 sessions)
Participate in our free remote SharePoint online – Office 365 training.
First session 11/15/2017 – 6:00-8:00 PM Eastern time
The second session will be on 11/22/2017 at 6:00 PM US Eastern time.
The third session will be on 11/29/2017 at 6:00 PM US Eastern time.
Join the meeting:
https://join.me/aasoftech

Below are the link for the presentation-Recording:
(Second session)
https://recordings.join.me/hRPCX2O96EWYszAcEEm46Q

Download second presentation from here.


Office 365 – Remote SharePoint online training course-Part-1-Overview

November 26, 2017

Free remote SharePoint online – Office 365 training (3 sessions)
Participate in our free remote SharePoint online – Office 365 training.
First session 11/15/2017 – 6:00-8:00 PM Eastern time
The second session will be on 11/22/2017 at 6:00 PM US Eastern time.
The third session will be on 11/29/2017 at 6:00 PM US Eastern time.
Join the meeting:
https://join.me/aasoftech

Below are the link for the presentation-Recording:
(First session)
https://recordings.join.me/DI6cXr6uI0iGhONep6DvlA

https://recordings.join.me/cGYfnzLPkEW3XJwCAPLlTA

Download presentation from here.


SharePoint 2016-Error while executing web part: System.IndexOutOfRangeException: Index was outside the bounds of the array

October 30, 2017

Issue:
A list view web part, was inserted in a web part zone, such that custom XSLT was attached to it to do the data formatting. List view web part stopped working with following error in logs.

Error while executing web part: System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Microsoft.Xslt.MethodCollection.ResolveMethodDef(Int32 tokenNum)
at Microsoft.Xslt.MethodCollection.MethodDescription.SetCode(DynamicILInfo ilInfo, Int32[] fixup, Byte[] ilCode, Byte[] ehTable, Int32 maxStackSize, MethodCollection methodColl)
at Microsoft.Xslt.MethodCollection.MethodDescription.DefineDynamicMethod(DynamicMethod dm, MethodCollection methodColl)
at Microsoft.Xslt.MethodCollection.CreateDynamicMethods()
at Microsoft.Xslt.MethodCollection.GetMethodInfoInternal(Int32 methodNumber)
at Microsoft.Xslt.MethodCollection.GetMethodInfo(Int32 methodNumber)
at Microsoft.Xslt.STransform.GetCompiledTransform()
at Microsoft.SharePoint.WebPartPages.DataFormWebPart.GetXslCompiledTransform()
at Microsoft.SharePoint.WebPartPages.DataFormWebPart.PrepareAndPerformTransform(Boolean bDeferExecuteTransform)

Solution:
In central admin, see the list of server, to check, if some server is need an update. Update all servers.
As shown, below.

Restart the whole SharePoint farm.

Still, that above exception remains there.
Next step is to , remove the list view web part, and add again. This will solve the exception and List view web part will start working.