Answered Can not enable RBS on sharepoint 2010 beta 2

  • Tuesday, November 24, 2009 8:36 AM
     
     
    I installed Sharepoint 2010 beta 2 on Windows 2008 sp2, use standalone mode, then configuration RBS according the document http://technet.microsoft.com/en-us/library/ee663474(office.14).aspx, but when I want to use Power shell enable rbs, it will throw error:

    PS C:\> $rbss.Installed()
    True
    PS C:\> $rbss.Enable()
    Exception calling "Enable" with "0" argument(s): "SQL remote blob storage must
    be installed on each web front end server and on the content database before it
     may be used."
    At line:1 char:13
    + $rbss.Enable <<<< ()
        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : DotNetMethodException

    is there anybody meet the same issue with me? does anybody know how to resolve this issue? thanks very much.

Answers

All Replies

  • Tuesday, November 24, 2009 2:48 PM
    Owner
     
     
    The problem is likely due to the fact that you used RBS.MSI to install on the WFE/App servers.  There is a typo in the original article and you should use RBS_X64.MSI with the following command on each WFE/App server:

    msiexec /qn /lvx* rbs_install_log.txt /i RBS_X64.msi
    WSS_Content" DBINSTANCE="DBInstanceName
    ADDLOCAL=Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer

    and specify your environment specifics.
    Bill Baer, Technical Product Manager - US-SharePoint http://blogs.technet.com/wbaer
  • Tuesday, November 24, 2009 4:16 PM
    Moderator
     
     
    There're some mistakes in the docs. We are going to fix it. Thanks for pointing out.
    Bill, that is not only the file name issue, the script is a mess.
  • Wednesday, November 25, 2009 4:00 AM
     
     
    Bill, Jie, Thanks very much for your help.

    I use below script to install RBS, the RBS.msi is x64 version. 

    msiexec /qn /lvx* rbs_install_log.txt /i RBS_x64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1

    msiexec /qn /lvx* rbs_install_log.txt /i RBS_x64.msi DBNAME="WSS_Content" DBINSTANCE="VM-EMC-SP2010C\SHAREPOINT" ADDLOCAL="Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer"

    So I guess Jie is right, the document is out of date. Is there any solution to let me enable the RBS now? what I need to do?
  • Wednesday, November 25, 2009 9:18 AM
    Moderator
     
     
    Can you check if you have a "Remote Blob Storage assembly was not installed.    " error in your ULS LOG?
  • Thursday, November 26, 2009 6:08 AM
     
     
    I checked the log, there have no error message like "Remote Blob Storage assembly was not installed.  "

    I write a program to call SPRemoteBlobStorageSettings.Enable() method, find SPRemoteBlobStorageSettings.VerifyInstalled() method will throw exception, VerifyInstalled method inner will call "SqlRemoteBlobsAssembly.Installed", this property return false in my environment, this property will call LoadAssembly(), LoadAssembly doing things like this:

    AssemblyName assemblyRef = new AssemblyName("Microsoft.Data.SqlRemoteBlobs, Version=10.50.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91");

    There have some inner code will check whether Microsoft.Data.SqlRemoteBlobs.SqlRemoteBlobContext class have "Dispose" method, unfortunately, Microsoft.Data.SqlRemoteBlobs.SqlRemoteBlobContext don't implement IDisposable interface, it don't have "Dispose" method, it means
    SPRemoteBlobStorageSettings.VerifyInstalled() method will always return false.

    I checked RBS 10.50.0.0, it can't work with SharePoint 2010, I think this should be a bug, classes in Microsoft.SharePoint.RBSWrapper namespace and Microsoft.Data.SqlRemoteBlobs assembly are not consistent.
  • Monday, November 30, 2009 6:32 PM
    Moderator
     
     Answered
    Hi,

    Thanks for the feedback. We found out that the link for RBS installer pointed to an old build. The new build of Microsoft.Data.SqlRemoteBlobs has Dispose() method and it is required by SharePoint 2010 public beta.
    Can you try this one instead? http://go.microsoft.com/fwlink/?LinkID=165839&clcid=0x409  (R2 Nov CTP)
    We will update the link in the document, as well as the scripts.
  • Tuesday, December 01, 2009 10:11 AM
     
     
    I download R2 Nov CTP version. it works now, thank you very much, Jie.
  • Monday, January 04, 2010 3:30 PM
     
     
    Hi!

    I had (and still have) the same problem as the thread starter (Code4Ever). When I tried to enable remote blog storage from the Power shell (by calling $rbss.Enable()) I got the "SQL remote blob storage must be installed on each web front end server and on the content database before it may be used." error.

    Then I found this forum thread and tried to fix it using the answer given, but I still receive the error when evoking the enable command from the Power shell.

    I downloaded the R2 Nov CTP version of the RBS installer, then I uninstalled the version that I used to install in the first place.
    Then I installed the R2 Nov CTP version on the servers, and rerun the installation procedure after installing.
    No luck, I still get the same error.

    Is there something else that I've missed?
    Could it be that the wrong build wasn't completely uninstalled?

    And for the record, I haven't done the complete installation procedure again. I didn't deem it necessary to execute the actions prior to installing the RBS.
  • Tuesday, January 05, 2010 5:34 AM
     
     

    Hi Tarjei,

    do you use below commands to reinstall your RBS?

    msiexec /qn /lvx* rbs_install_log.txt /i RBS_x64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1

    msiexec /qn /lvx* rbs_install_log.txt /i RBS_x64.msi DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" ADDLOCAL="Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer"

    you also need check the rbs_install_log.txt to make sure there have  "Product: SQL Remote Blob Storage – Installation completed successfully" in it.

  • Tuesday, January 05, 2010 4:39 PM
     
     
    Hi, and thanks for answer!

    Yes, I did use the given commands when trying to reinstall the RBS.

    But, not when installing the wrong build the first time. The scripts (second command mainly) given in the original posting was rather messy as Jie Li said.

    I checked the log file and checked that I had the "Product: SQL Remote Blob Storage – Installation completed successfully"-line in it.

    Maybe I'll try to reinstall again just to be sure.
  • Thursday, January 07, 2010 11:32 PM
    Moderator
     
     

    This "Product: SQL Remote Blob Storage – Installation completed successfully" does not mean you have a successful install of the provider. How big is your log file? If it is less than 1M please check inside for errors.

  • Tuesday, January 12, 2010 4:01 PM
     
     

    Hi, and thanks for answer. And sorry for a little late answer on my behalf.

    I have been rather busy, but finally got the time to reinstall the RBS.
    When I tried to reinstall the RBS this time I checked the log file more closely, the log file was about 1.2mb in size.
    I found two lines indicating that an error had occured:

    - "Info 2769. The installer has encountered an unexpected error. The error code is 2769. Custom Action CreateFilesNoUI did not close 21 MSIHANDLEs."
    - "Installing the FILESTREAM blob store failed with error message:
    RBS Error. Original Error: Number 1750, Severity 16, State 0, Procedure -, Line 1,
    Message: Could not create constraint. See previous errors.
    Setup will continue the installation."

    This time when trying to enable RBS i receive the following error:

    "Exception calling "Enable" with "0" argument(s): "The configuration for blob store <FilestreamProvider_1> is not valid."
    At line:1 char:13
    + $rbss.Enable <<<< ()
        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : DotNetMethodTargetInvocation"

  • Saturday, February 20, 2010 12:26 AM
     
     
    Jie,

    I installed the new build and I still have the same problem like Tarjei ..

    Thanks,
    Ayman
    Ayman M. El-Hattab, Microsoft Certified SharePoint Specialist, http://www.aymanelhattab.com .. Follow me on twitter @ http://twitter.com/aymanelhattab
  • Saturday, February 20, 2010 1:13 AM
    Moderator
     
     
    Error 2769 is a generic error, which caused the installation error of the provider. Since it is not installed correctly, you cannot enable it with PowerShell.
    However, it is not possible to tell why 2769 happened just based on that error message. You may need to get a new enviorment to try.
  • Saturday, February 20, 2010 8:57 AM
     
     
    Jie,

    What is the difference between :

    msiexec /qn /lvx* rbs_install_log.txt /i RBS_x64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1

    and

    msiexec /qn /lvx* rbs_install_log.txt /i RBS_x64.msi DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" ADDLOCAL="Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer"

    ?
    Ayman M. El-Hattab, Microsoft Certified SharePoint Specialist, http://www.aymanelhattab.com .. Follow me on twitter @ http://twitter.com/aymanelhattab
  • Saturday, February 20, 2010 5:55 PM
    Moderator
     
     
    The first is the one for you to install rbs api library and setup the provider. the second one should be run on other wfes and app servers to install roles like maintainer.
  • Tuesday, February 23, 2010 4:44 PM
     
     

    Jie,
    TechNet article states that the first command should be run on the database server and one of the WFE's, and the second one should be run on the other WFE's and all the application servers.

    Isn't it enough to run the first command on the database server only ?

  • Friday, February 26, 2010 7:56 PM
    Moderator
     
     
    It is not enough - the purpose of command is to install RBS Library and RBS FILESTREAM Provider onto every server that need to access the content database. The first command setup the content db to use a pointed filestream provider, while the second one will tell other machines this db is RBS enabled and the machine should have somes roles to deal with it.

  • Sunday, February 28, 2010 6:53 AM
     
     
    Hello Jie,

    I can understand the difference between the two command. However, what I need to know is : Why should I run the following command on the database server and one of the web front ends ?


    msiexec /qn /lvx* rbs_install_log.txt /i RBS_x64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1

    I have run it only on the database server and it just works

    Thanks
  • Tuesday, August 03, 2010 5:49 PM
     
     

    Hi,

    I am getting same error. r. The error code is 2769. Custom Action CreateFilesNoUI did not close 21 MSIHANDLEs

    Can you please let me know How resolved this error ?

    Thanks in Advance...

  • Wednesday, September 01, 2010 2:32 AM
     
     

    Hi,

    Uninstall RBS.

    if an error occurs  resume next ... 

    Is Removed , Reinstall It.

     


    duplex
  • Monday, December 27, 2010 11:58 AM
     
     

    Uninstall RBS

    Enable 'Named pipes' as described here http://techpunch.wordpress.com/2008/08/28/sql-server-2008-with-sharepoint-2007-enable-remote-sql-connections/

    Install again as in the guide. 

     

    Regards,

    Martin

  • Monday, March 14, 2011 2:34 PM
     
     

    The new RBS.msi installer has the option not to run the maintainer so you can run it directly. Just make sure to select "Show the optional advanced configuration options."

    Martin

  • Thursday, July 28, 2011 4:14 PM
     
     
    http://technet.microsoft.com/en-us/library/ee748631.aspx#enable Does NOT say anything about running RBS_x64.msi on the DB server, it only says "On any Web server". Does it indeed need to be installed on the DB server as well? MS, please help! We are trying to evaluate OOB RBS versus going with an expensive 3rd party.
    http://vcollogan.knows.it http://twitter.com/orbhot
  • Wednesday, August 10, 2011 10:37 PM
     
     

    Support for this entire option is pitiful without question.

     


    @Elwha101