SharePoint RBS – Failure to BLOB

As seen in my previous post Group Policy can have major effects on the functionality of SharePoint. A recent scenario was that I went on site and got a dev environment up and running with BLOB storage. Everything was thoroughly tested, but when it came time to do the production setup things didn’t go so smoothly. Even following the same exact setup procedure we were only able to upload files in a non-rbs’d database. Any time we would go to upload a file we would be presented with this error: “The URL ‘Documents/doc.docx’ is invalid.  It may refer to a nonexistent file or folder that is nonexistent.” In looking at the correlation ID in the diagnostic logs we notice a more meaningful error:

 “Cannot open log for source ‘RBS’. You may not have write access. —> System.ComponentModel.Win32Exception: Access is denied     –

— End of inner exception stack trace —   

 at System.Diagnostics.EventLog.OpenForWrite(String currentMachineName)“

This indicates that there was a failure to write to the event log. After tracking down the ‘RBS’ log in the registry (The location is HKLM\System\CurrentControlSet\Services\EventLog\Application\RBS) we noticed that it was the Eventvwr Application log.

There are a few ways to adjust access to the eventvwr log, but we decided to use a command-line utility to explicitly grant the appropriate access to the Application log for RBS.

Here are the steps that were performed:

1)      Open CMD as administrator

2)      Wevtutil.exe gl application > C:\temp\out.txt

3)      Add the value (A;;0x3;;;AU) to the end and run

4)      Wevtutil.exe sl application /ca:0:BAG:XXXX (Where XXXX is the values from out.txt with the added entry)

5)      Reboot the server

This value can also be controlled in Group Policy setting “Log Access” under:

Local Computer Policy > Computer Configuration > Administrative Templates > Windows Components > Event Log Service > Application

Moral of the story: ALWAYS CHECK GROUP POLICY!

-AJB

SharePoint 2010 – Enable Remote BLOB Storage (FILESTREAM)

There are many great sources out there that cover this topic already, but this is my own personal experiences and any issues I ran into during this setup and configuration..and oh boy was it a fun first go around 🙂

Issues I ran into:

  1. The account you setup RBS as should have elevated access to SQL Server (In my case I temporarily granted the sp_install account sysadmin access to the SQL Server because it needed access to alter database settings)
  2. The Named Pipes protocol must be enabled in SQL Server Configuration Manager
  3. SQL Server Browser Service MUST BE STARTED or else you will get faked out and think RBS is installed, but it won’t be!

First you must enable FILESTREAM on the Database Server (Note: In my testing I had a single SharePoint/DB Server. Based on http://msdn.microsoft.com/en-us/library/cc645923.aspx):

  1. Open SQL Server Configuration Manager and right click SQL Server (MSSQLSERVER)| Properties
  2. Click the FILESTREAM tab and enter the appropriate settings
  3. clip_image001
  4. Open SQL Server Management Studio and run this query:
  5. Restart the SQL Server service

Run SQL Queries to provision a BLOB Store for the content database:

  1. Run the following queries from SQL Server Management Studio to provision a BLOB Store for the SharePoint Content Database (Note: I created the content database ahead of time. Do not create the BLOB Store location ahead of time or SQL will yell at you):

Install the RBS Client Library onto the SharePoint Server:

  1. Download 1033\x64\RBS.msi from http://www.microsoft.com/en-us/download/details.aspx?id=26728
  2. Open Command Prompt as Administrator (Change directory to file):

Check to make sure the RBS tables were created in SQL by running the following query (If they are not make sure Named Pipes is enabled and the SQL Server Browser Service is started):

If the following tables aren’t present check the RBS_Install_Log.txt for errors:

RBSTables

Previously, I was receiving this error: “Info 2769. The installer has encountered an unexpected error. The error code is 2769. Custom Action CreateFilesNoUI did not close 21 MSIHANDLEs.”

Make sure if you previously tried to install RBS and it didn’t work that you go and uninstall (using add/remove programs) and then run the msiexec command again).

Run PowerShell to enable RBS for Content Database:

Sources I used:

http://msdn.microsoft.com/en-us/library/cc645923.aspx

http://toddklindt.com/blog/Lists/Posts/Post.aspx?ID=174

http://technet.microsoft.com/en-us/library/ee663474(v=office.14).aspx