We have a SharePoint 2010 Farm using rbs and would like to migrate it to a SharePoint 2013 Farm using sql. Can this be done by using the detach method on the WSS_Content database or is there another approach?
2 Answers
You cannot migrate directly a DB with RBS enabled, You have to move all the files inside the DB then you can use backup & restore method.
The steps you need to follow are:
- Stop Content Db to use RBS and Move in all the Files inside the DB from Blob Folder.
- Verity that files are inside Sql DB by running query.
- Test by uploading file to Site and verify it stores in sql DB.
- backup and restore the DB to your new SharePoint 2013 environment.
- Test it.
- Configure the RBS on SharePoint 2013 Farm after upgrade. link to the planning for RBS : https://technet.microsoft.com/en-us/library/ee748638.aspx
http://sharepoint-community.net/forum/topics/sharepoint-2010-to-2013-upgrade-migration-with-rbs
I know this is old, but I wanted to post my solution.
We were able to migrate the databases with the RBS still attached. I was able to go Microsoft RBS Library to download the library on each 2013 WFE server. NOTE: Do not run the configuration wizard it installs features that are not compatible with SharePoint 2013. Instead Save the file to the location C:\RBSClient (I created the location)
Run the Command Prompt as an Administrator and paste the following code
cd c:\RBSClient
First
msiexec /qn /lvx* rbs_install_log.txt /i RBS_amd64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="<database>" DBINSTANCE="<DBSERVER>" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=<FileStreamName>
Second
msiexec /qn /lvx* rbs_install_log.txt /i RBS_amd64.msi DBNAME="<database>" DBINSTANCE="<DBServer>" ADDLOCAL=Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer
msiexec /qn /lvx* rbs_install_log.txt /i RBS_amd64.msi DBNAME="<Database>" DBINSTANCE="<DBserver>" ADDLOCAL=Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer
NOTE: The first code is the initial install of the RBS Client and should only be ran once. The second code is for each other content database. This is done on each server.
After the library is installed on each Web Server Enable RBS for each content database on just one server by running the SharePoint 2013 Management Shell application as an administrator and pasting the following code.
$cdb = Get-SPContentDatabase <database>
$rbss = $cdb.RemoteBlobStorageSettings
$rbss.Installed()
$rbss.Enable()
$rbss.SetActiveProviderName($rbss.GetProviderNames()[0])
$rbss
Make sure the app pool account has dbOwner, at this point documents should be able to open using the filestream provider. To migrate them to SQL database use the following code.
$rbs=(Get-SPContentDatabase <database>).RemoteBlobStorageSettings
$rbs.GetProviderNames()
$rbs.SetActiveProviderName("")
$rbs.Migrate()