Who's Online
8 visitors online now
0 guests, 8 bots, 0 members
Support my Sponsor

Myth Buster for SharePoint SQL RBS

Hi All,


In this article I would try to share my experience about SharePoint on SQL RBS. This article may help you decide if you should use SQL RBS with SharePoint or any other product.


This is my personal opinion about SQL RBS with SharePoint. I would suggest you to cross check below furnished details before taking final decision. Microsoft keeps enhancing its product so some of these may be fixed\resolved\changed.


Let’s first discuss what is SQL RBS? Normally when you upload a document, image, video, audio, etc on your SQL server it is stored in MDF (Master database file) of your SQL content database. As per my past experience when you upload anything to a content management system, you would revisit only 20 % of data uploaded, rest 80 % of data is never visited but used for record only purpose. IT pro’s suggest that you should keep your SQL content database on RAID 10 hard disk or SAN which is pretty expensive.


To resolve this issue Microsoft came out with SQL RBS which allows you to store your Files\BLOB outside (File system) of SQL database. This means you can use a Raid 0 drive to store BLOB files (image, video, document, etc). RBS is intended to lower storage costs by allowing you to store large read-intensive BLOBs on less expensive drives.


1st Myth of SQL RBS: Additional Storage for Content database.

This is the biggest myth about SQL RBS. Microsoft Suggest that your content database should be below 200 GB. Now days when we have a USB stick with 100 GB, a Content management server restricted to 200 GB is not a good deal. To overcome this issue few IT admin plan to use SQL RBS because RBS stores files outside of SQL server hence decrease the size of content database.

Reality: RBS does not increase the storage limits of content databases. All limitations still apply to RBS-enabled content databases. If you are using Remote BLOB Storage (RBS), the total volume of remote BLOB storage and metadata in the content database must not exceed the 200GB limit.


2nd Myth of SQL RBS: Files stored on FILESYSTEM through RBS cannot be accessed directly.

IT Pros and lot of other articles says that we cannot open the file directly from BLOB FILESYSTEM. We have to go through SQL database in order to read these files.

Reality: I was able to access FILESYSTEM where the BLOB files were stored and was able to open my txt, bmp, jpg, etc files. SharePoint is known for its Item level Security. So far SharePoint security was never compromised and access is only available on need to know basis. If any users who has access to FILESYSTEM can open any file stored in SharePoint without having access on SharePoint is a security issue. Also encryption is not supported on BLOBs, even if Transparent Data Encryption is enabled.


3rd Myth of SQL RBS: Better performance I hear a lot of IT PRO who comment that they would get better performance if FILES\BLOBS are stores outside of SQL Server.

Reality: I would accept this when we are using SharePoint to store Hugh amount of data files (70-80 % of BLOB). When I asked these IT Pros how much data is stored on, dbo.AllDocStreams, dbo.DocStreams, dbo.AllDocVersions, dbo.alldocs, etc table, they are not aware of same or they don’t bother. When you offload 70-80 % of data from your MDF file and store it FILESYSTEM you may feel better performance. If our content database stores BLOB files not more then 30-35 % then it would not make sense to go with RBS. Let me explain you why I say that, when you configure RBS you create number of additional tables on your content database. This means when we upload BLOB to SharePoint it will execute additional query to store data. Here SQL will first import image files, and then it may split the file based on size of file and then store it to FILESYSTEM. Again this process is reversed when we try to open or query the BLOB file. This will increase disk IO, RAM and processing power. Now if consumption of my resources is increased, how can I expect better performance? RBS does not support using data compression but data is compressed when uploaded to SQL MDF file. Microsoft says “Although using RBS with files larger than 1 MB can improve I/O and processor performance, using RBS with files smaller than 256 KB might decrease overall performance. Storing the BLOBs inline in the content database is more efficient with smaller files”


4th Myth of SQL RBS: Ease in management

A lot of IT Pro’s also comment that it is easy to manage smaller SQL databases, Better Technology, Ease in configuration, etc.

Reality: Why you want to take an additional Load of configuration anything extra on SQL. If any feature is available does not mean you should use it. Implementation of these features depends on its pros\cons and specific requirement of the feature. Also when you backup the database, it will backup all the files from FILESYSTEM along with SQL MDF\LDF files. Sizes of these databases backup does not decreases but it increase because RBS does not perform any compression. If you plan High availability through Mirroring or Log shipping, you need to follow additional steps to configure the same.

That’s it from my side. Feel free to comment or connect with me if you feel any of the above information is incorrect.


Hybrid Delve and Search are coming to SharePoint 2016 and SharePoint 2013

Hi All,

As you all know that Hybrid Delve and Search are coming to SharePoint 2016 and SharePoint 2013. Hope below additional details can be of help.


What is Cloud search service application?

If you plan to use Hybrid Delve and Search feature then you will have to create a Cloud Search Service Application. As far as I know key source behind Delve (Office Graph) for Delve won’t be available On Premises SharePoint.


How does it work?

I see a lot of concern where people ask if the crawled content would remain on Cloud server or On-premises SharePoint server. The content itself remains On-Premises and the indexed metadata is unified in a Cloud Index in Office 365. This mean crawled content resides in your environment but their index resides on Office 365 servers.

Now another concern is what happens to sensitive data which will be crawled. Its indexes would move to cloud which may not be accepted to everyone.

For sensitive content it would be recommended to not index this content using the Cloud SSA. The Combining Hybrid search approaches can use the current Query federation approach for the hybrid scenario should this need to be queried from SharePoint Online.


What would be an Ideal scenario if you plan to SharePoint 2016 Cloud Search Service Application?

Bill Baer says “I wouldn’t approach the new hybrid search experience as sending the entirety of your content to the unified index in SPO, just the “indexed” content, I.e. the first 100K – as related to selectively sending content to the unified index, yes, that can be achieved with the new hybrid cloud Search SA – the number of servers on-premises as related to scale-related considerations is dependent on your own throughput needs, but can be as few as a single server running either SharePoint 2013 and/or SharePoint 2016 which can serve as a proxy to legacy content sources such as SharePoint 2010. Since the index is unified in SPO and the results returned by Office 365 you can also potentially reduce the scale of your existing search architecture and let the service do the heavy lifting of storing and returning results.”

To summarize, if you have lot of content which does not contain sensitive information and your company is ready for Hybrid approach you can crawl Hugh amount of data but your search architecture would be very small because half of the load(Index and Query) would be taken by Office 365 servers. Here you will get a very good search performance even if you have single SharePoint environment.


What is required for Cloud search service application?

You need On-Premises SharePoint environment and Office 365 subscription to use Cloud search service application.


Hope this will help you with your SharePoint 2016 planning.


No SharePoint Foundation 2016

Hi All,


We all know SharePoint Designer 2013 is the last version of SharePoint Designer available to us. Now another big hit is SharePoint Foundation 2013 is also the last free version of SharePoint product available with us.


I just got confirmation that Microsoft would not release SharePoint Foundation 2016 along with SharePoint Server 2016. This is a big hit to companies who use SharePoint foundation in their current organization and planned to upgrade to SharePoint Foundation 2016. I very well know that a very big SharePoint market uses SharePoint Foundation because it is free and it has great features.


If you use SharePoint Foundation and you want Microsoft to continue SharePoint Foundation product, you can tweet @williambaer or email him at That’s your only chance where you need to show Microsoft how you use SharePoint foundation, how does it benefit you and why Microsoft should continue this product line


Hope this will help you with your SharePoint 2016 planning.

Keyword Query text limit in SharePoint Search

Hi All,

I was recently asked if we have any limit for Query text we use to perform search in SharePoint.

After some research I found that the length limit of a KQL query varies depending on how you create it. If you create the KQL query by using the default SharePoint search front end, the length limit is 2,048 characters. However, KQL queries you create programmatically by using the Query object model have a default length limit of 4,096 characters. You can increase this limit up to 20,480 characters by using the MaxKeywordQueryTextLength property or the DiscoveryMaxKeywordQueryTextLength property (for eDiscovery).

Again the length of FAST Query Language queries is limited to 2,048 characters.

This applies to SharePoint 2010, 2013

Reference :

Note: You cannot modify this value in Office 365 SharePoint site


SharePoint “Add to timeline” option is disabled\Grayed out on Project site


Hi All,

Recently I found a issue where “Add to timeline” option is disabled on Project site.

After some research I found that in order to do enable “Add to timeline”, the user must have the permission to “manage” list, the contribution is not enough!

A user with contributor permission will see the option grayed out and won’t be able to use it.

Hope this will be helpful

Prepare Seeds for Tree plantation

Hi All,

Today we will understand how we can prepare some dry seeds in case we wish to plant trees.

We will 1st collect seeds from different fruits and vegetables. I collected some orange seeds as shown below:


Now we will wash it properly. Motive is to make sure seeds don’t carry any pulp or it might have fungus on it. Check the image below:


Once we wash the seeds, we will dry them using some napkin or cloth and keep it under sunlight for a day or 2. Seeds must be carefully dried and then stored under the proper conditions in order to give them the best chances of germinating and producing healthy plants when they are planted.


Dry your seeds thoroughly before storing them. If seeds sweat on insides of jars during storage, they are too wet and must be dried further in order to store successfully.


Thanks everyone for helping us save planet.

SharePoint : Redirect to different home page for authenticated users

Hi All,

Today I got a requirement where authenticated users should be redirected to a different page, here is how I achieved it.

Editing the exiting SharePoint Landing page, then add a new content editor Web Part on the page. Now edit the content editor webpart and click on Web part properties on top. Now select “Embed code” under Insert for content editor webpart, add below script in :

<meta http-equiv=”refresh” content=”5;url=http://sharepoint/SitePages/Home.aspx”>

Try to check if your site is redirect to the new site.

If the redirection is working fine then we will restrict this script only for authenticated users. We need to edit the page again and select Edit webpart. Under Advance setting Set Target Audience as “NT Authenticated users”

Hope this helps you.

openfire installation on Centos 6.6

Hello Everyone,

Today we are installing openfire server on centos

what is openfire is opensource IM server means it’s best alternative for MS lync, you can also enable voice chat in openfire for that you have to install require plug inns.

& again best things for openfire is it’s FREE….

So here we start openfire installation

Login to the server as root This installs the dependencies:

yum -y install wget java glibc.i686

download RPM from



Run & installed the RPM

Yum –y install openfire-3.8.1-1.i386.rpm


Now start the openfire service

service openfire start

chkconfig  openfire on


now stop the iptable for time being

service iptables stop


Install mysql server

yum -y install mysql-server


now start the mysql service

service mysqld start

chkconfig mysqld on


mysql secure installation






In order to log into MySQL to secure it, we’ll need the current

password for the root user.  If you’ve just installed MySQL, and

you haven’t set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none):

OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.


Set root password? [Y/n] y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

 … Success! ………………………………………………………………………………………………………………………………………..





Now Restart mysql server

service mysqld restart


Now log in to the mysql with root username & password , create a database named “openfire”

mysql -u root –p


create a database openfire

mysql> CREATE DATABASE openfire;


mysql> CREATE USER ‘fire’@’localhost’ IDENTIFIED BY ‘root123’;

Query OK, 0 rows affected (0.00 sec)



    -> ON openfire.*

    -> TO ‘fire’@’localhost’;

Query OK, 0 rows affected (0.00 sec)



Query OK, 0 rows affected (0.00 sec)




Service iptables stop



You can add below ports in iptables

-A INPUT -m state –state NEW -m tcp -p tcp –dport 9090 -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 5222 -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 5223 -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 9091 -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 7777 -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 7070 -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 7443 -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 5229 -j ACCEPT

-A INPUT -j REJECT –reject-with icmp-host-prohibited


[root@openfire ~]# service iptables restart

iptables: Setting chains to policy ACCEPT: filter          [  OK  ]

iptables: Flushing firewall rules:                         [  OK  ]

iptables: Unloading modules:                               [  OK  ]

iptables: Applying firewall rules:                         [  OK  ]






Open_insta3 Open_insta4 Open_insta5 Open_insta6




log in to the server as


default password “admin”


I have created user named “Sachin” & “paresh”




Install Spark messenger on your desktop



Downlod link for spark IM











What’s new in SharePoint server 2016 deployment

Hi All,


Let’s talk about SharePoint 2016 newly release deployment details.


We will start with Hardware requirements, we can see that SharePoint 2016 would require something between 8 to 16 GB of RAM but for 1st time ever Microsoft has suggested a secondary drive on all SharePoint and SQL servers. Suggested minimum number of processor is 4 cores which mean we will have minimum I5 on all servers.


List of Unsupported Deployment Scenarios make a big difference for SharePoint 2016. Workgroup, Client OS (Windows 7, Vista, etc), Dynamic Memory and Windows Web Server would be unsupported. So you would need a Domain environment with windows server and Static RAM on all servers. This will increase license cost and hardware cost because an additional AD server and memory would be required.


So far Windows server 2012 R2 and Technical preview are supported OS.


Although .net framework 4.6 is released, you would need minimum .net framework 4.5.2 to install SharePoint server 2016.


There is no much change for Prerequisites of SharePoint server 2016:
Application Server Role
Web Server (IIS) Role
Microsoft SQL Server 2012 Native Client
Microsoft ODBC Driver 11 for SQL Server
Microsoft Sync Framework Runtime v1.0 SP1 (x64)
Windows Server AppFabric 1.1
Cumulative Update Package 1 for Microsoft AppFabric 1.1 for Windows Server (KB2671763)
Microsoft Identity Extensions
Microsoft Information Protection and Control Client
Microsoft WCF Data Services 5.0
Microsoft WCF Data Services 5.6
Microsoft .NET Framework 4.5.2
Update for Microsoft .NET Framework to disable RC4 in Transport Layer Security (KB2898850)
Visual C++ Redistributable Package for Visual Studio 2013


You would need SQL server 2014 to install SharePoint 2016 in your environment.


I don’t know why we still use AppFabric when we know it will be discounted soon in 2016. As you can see “Microsoft Information Protection and Control Client” is the only new Prerequisite and it will be used for compliance on SharePoint server. We can see the same on Central Admin screen.


Now comes the most interesting part of SharePoint 2016 which is MinRole. During MVP summit 2014 we were told about Minrole and its database. Had a big conversation on same because it may have complexity with upgrade but here I see that Minrole is implemented in SharePoint 2016.


Now the services will be divided in 3 sections viz User services, Robot services and caching services. Now when you install SharePoint 2016, you would get option to select role you wish to enable on the SharePoint server. Previously we had Single Server or Application and WFE role but now we have 6 different roles available with us viz SpecialLoad, WebFrontEnd, SingleServerFarm, Search, Application, DistributedCache.


Here is the secret of these roles, predefined server role is configured and optimized for its intended purpose provisioning the expected services designed to support its function within a server farm environment. So you don’t have to worry about which server should run which services.


You can configure SharePoint 2016 using psconfig GUI or powershell. As far as I know stsadm command are now deprecated and cannot be used in SharePoint 2016 for management or configuration purpose.


To configure a SharePoint farm we need to use below powershell command:

psconfig.exe -cmd configdb -create –server “SQLserver” –database “wss_config” –user “itfreesupport\inder” –password “123456” –passphrase “pass_phase1” –admincontentdatabase “admin_contentdb” -localserverrole “Application”

Here is a GUI interface of a SharePoint 2016 psconfig wizard.


Another advantage of these MinRole is related to Server Health rules. If you have selected SharePoint search role and health rule detects any other service running on the server, it will give you an alert for same. Now this is what I say a new feature in SharePoint 2016.


Now comes the biggest pain with SharePoint 2016. You cannot perform a SharePoint 2016 inplace upgrade. This means you will have to create\reconfigure your Service application and use attach detach method to complete your upgrade. Another problem is we need upgrade to SharePoint 2013 and then we can upgrade to SharePoint 2016. A direct upgrade from older version of SharePoint is not available in SharePoint server 2016.


Reference : What’s new in SharePoint Server 2016 Installation and Deployment

What is a Site Collection in SharePoint?

There are lot of confusions between Site Collection, sites and web application so though I will try to put some light on same. A very high level overview of a Site Collection is that Site collection share common features like Content types, Templates, Site columns, permissions, Web Parts etc. In other words a site collection groups together websites, and (perhaps most importantly) the security data for these websites. A site Collection stores references to a bunch of information critical to any web site. This information includes, but is not limited to:

–Web Parts

–Users which have access to the website


–Sandbox Solutions


–List Templates



Site Collection facilitates better administration of our internet\intranet websites. Let me explain using an example. We have a company’s intranet site and that intranet site (http://intranet) has multiple departments based sub sites like Finance, Sales, Support, etc. If I need to check something related to Finance, I can simply go to http://intranet/finance and try to find my relevant information in through Shared Document library, Blogging and much more. I would have access to all commonly used information\documents through a single intranet URL.


To the Site Collection all the websites within it are in a flat hierarchy which developers can see using spsite.allwebs or using dbo.allwebs table in content database.


Normally each web application has at least 1 Site Collection but it can have many however every web application has only 1 Top Level Site collection. General setting like Recycle bin and Quotas are organized at site collection level. Most important is each site collection can only use a single content database though multiple site collections can us the same content database.


Sites and subsites in a web application are actual place where content is stored. A site can be a top-level site or a sub site of the top level site. Not to confuse you but even a Sub sites can have other sub sites and so on. It is a free like structure. A site can inherit its parent’s permissions or define its own.



Microsoft recommended limiting the number of site collections in a content database to 5,000. However, up to 10,000 site collections in a database are supported. Microsoft decided this parameter after analyzing speed of upgrade, SharePoint performance, etc. The larger the number of site collections in a database, the slower the upgrade with respect to both database upgrade and site collection upgrades.



Exceeding the 5,000 site collection limit puts you at risk of longer downtimes during upgrades. If you plan to exceed 5,000 site collections, Microsoft recommend that you have a clear upgrade strategy to address outage length and operations impact, and obtain additional hardware to speed up the software updates and upgrades that affect databases.


The maximum recommended number of site collections per SharePoint farm is 500,000 Personal Sites plus 250,000 for all other site templates.


You can create a very large total number of web sites by nesting subsites. For example, in a shallow hierarchy with 100 sites, each with 1,000 subsites, you would have a total of 100,000 web sites. Or a deep hierarchy with 100 sites, each with 10 subsite levels would also contain a total of 100,000 web sites.


Note: Deleting or creating a site or subsite can significantly affect a site’s availability. Access to the site and subsites will be limited while the site is being deleted. Attempting to create many subsites at the same time may also fail.


Microsoft recommends a limiting of 200 GB for each site collections. This 200 gb includes RBS blob files on SQL server.


How we create a site collection?

Open Central Admin > Application management > Create Site Collection > Select the URL  and fill in other details > Click OK.

You can also use below Powershell command:

New-SPSite -URL -OwnerAlias  -template “STS#0”


How to create a subsite?

Browse your site collection > Select setting button on right top corner > select “site contents” > select new subsite > Provide the URL and fill in other details > click OK.

You can also use below Powershell command:

New-SPWeb http://itfreesupport/subweb1 -Template “STS#0”

Note: Site collection can only be create from Central admin or SharePoint server where as subsite can be created from any machine using site collection URL

Hope this was helpful