none
SQL Mirroring on FAST Admin Database RRS feed

  • Question

  • Hi everyone,

    We saw that SharePoint 2010 support SQL miroring for (almost) all of its databases, including databases used by search SSA.

    But what About the Fast Administration database? How can I configure Fast to be aware of the mirroring set up for this database?

    Thanks in advance.

    Romain K

    Wednesday, April 20, 2011 1:03 PM

Answers

  • Hi Romain,

    MSDN has a page describing setting up database mirroring using the jdbc connector. Mirroring is supported by the jdbc driver and you will have to edit your connection string in order to support it.

    In order to set up mirroring for the admin database you will have to modify your deployment.xml file when installing FAST for SharePoint, or after the installation.

    The deployment configuration have a section for setting the configuration string. Here's the one from my dev image:

    <connector-databaseconnectionstring><![CDATA[jdbc:sqlserver://localhost;DatabaseName=FASTSearchAdminDatabase]]></connector-databaseconnectionstring>
    

    What you would have to do in order to support mirroring is to add a parameter to the connection string such as:

    failoverPartner=serverB

    If my failover server was named failover, then the connection string would be:

    <connector-databaseconnectionstring><![CDATA[jdbc:sqlserver://localhost;DatabaseName=FASTSearchAdminDatabase;failoverPartner=failover]]></connector-databaseconnectionstring>
    

    If you have already configured FAST, then you have to reconfigure it with the updated deployment configuration. You will find a step by step guide at TechNet on how to do this (http://technet.microsoft.com/en-us/library/ff381247.aspx#BKMK_ReconfigureTheDeploymentWithoutAddingNewServers). It involves editing your live deployment.xml file and applying the change via PowerShell.

    If it's a new installation, then you can use one of the sample deployment files (eg. C:\FASTSearch\etc\deployment.sample.single.xml), modify it to your needs, and use this during the FAST configuration instead of the default one.

    Hope this helps.

    Regards,
    Mikael Svenson 


    Search Enthusiast - MCTS SharePoint/WCF4/ASP.Net4
    http://techmikael.blogspot.com/ - http://www.comperiosearch.com/
    Tuesday, April 26, 2011 1:37 PM

All replies

  • Hi Romain,

    MSDN has a page describing setting up database mirroring using the jdbc connector. Mirroring is supported by the jdbc driver and you will have to edit your connection string in order to support it.

    In order to set up mirroring for the admin database you will have to modify your deployment.xml file when installing FAST for SharePoint, or after the installation.

    The deployment configuration have a section for setting the configuration string. Here's the one from my dev image:

    <connector-databaseconnectionstring><![CDATA[jdbc:sqlserver://localhost;DatabaseName=FASTSearchAdminDatabase]]></connector-databaseconnectionstring>
    

    What you would have to do in order to support mirroring is to add a parameter to the connection string such as:

    failoverPartner=serverB

    If my failover server was named failover, then the connection string would be:

    <connector-databaseconnectionstring><![CDATA[jdbc:sqlserver://localhost;DatabaseName=FASTSearchAdminDatabase;failoverPartner=failover]]></connector-databaseconnectionstring>
    

    If you have already configured FAST, then you have to reconfigure it with the updated deployment configuration. You will find a step by step guide at TechNet on how to do this (http://technet.microsoft.com/en-us/library/ff381247.aspx#BKMK_ReconfigureTheDeploymentWithoutAddingNewServers). It involves editing your live deployment.xml file and applying the change via PowerShell.

    If it's a new installation, then you can use one of the sample deployment files (eg. C:\FASTSearch\etc\deployment.sample.single.xml), modify it to your needs, and use this during the FAST configuration instead of the default one.

    Hope this helps.

    Regards,
    Mikael Svenson 


    Search Enthusiast - MCTS SharePoint/WCF4/ASP.Net4
    http://techmikael.blogspot.com/ - http://www.comperiosearch.com/
    Tuesday, April 26, 2011 1:37 PM
  • Hi. Thnaks for this reply. It seems to work. I mean I able to query, crawl or edit crawled metadata while le Fast admin database is failover.
    Wednesday, May 4, 2011 3:41 PM
  • Cool :)

    Regards,
    Mikael 


    Search Enthusiast - MCTS SharePoint/WCF4/ASP.Net4
    http://techmikael.blogspot.com/ - http://www.comperiosearch.com/
    Wednesday, May 4, 2011 8:58 PM
  • Hi,

    I'm trying to configure the failover database connection on my Multiple Node  FAST Search Server for Sharepoint farm.

    Following the instructions regarding changes on deployment.xml file and execution of Set-FASTSearchConfiguration is not working for me. The database connection doesn't change pointing to the old Database Server.


    I've also checked the official documentation about changing the Database:

    http://technet.microsoft.com/en-us/library/ff384290.aspx

    It says that the change is made on the hostconfiguration.xml (this file allows me to set the DatabaseServer and DatabaseName). Modifying this file and executing the  Set-FASTSearchConfiguration, I've managed to change the principal database and It worked. But I can't see any documentation about how to set the failover through this file (Since the Deployment.xml solution doesn't work)


    Many thanks.

    Best regards,

    Sergio FC 

     

    Friday, October 7, 2011 12:27 PM
  • Hi Sergio,

    Take a look at the documentation on MSDN for constructing a jdbc connection string

    http://msdn.microsoft.com/en-us/library/ms378988(SQL.90).aspx

    Regards,
    Mikael Svenson 


    Search Enthusiast - SharePoint MVP/WCF4/ASP.Net4
    http://techmikael.blogspot.com/
    Friday, October 7, 2011 12:34 PM
  • Hi Mikael, I've been doing some test about this, but I have certain things unclear.

    I was told to do a FAST admin database change, plus adding a failover server. I searched through Microsoft TechNet site and found the link I posted above. Also, I found this post with all the failover information (the other thing I had to do).

    At first, I tried this method with the same connection string you proposed, in order to change the database and set the failover (oviously, I changed the server and database names). But when I did all the procedure, the database admin told me that the FAST system was still writing on the old database.

    I tried then with the other method (changing the hostconfiguration.xml). The database admin confirmed that now the system was writing to the new database. The first goal was accomplished, but I still needed the failover admin database.

    So we could say that the real question is how to specify a failover address in the hostconfiguration.xml file, since I only have this two tags related to the server configuration:

      <property name="admindatabaseserver">XXXXX</property>

      <property name="admindatabasename">YYYYYY</property>

    Thank you very much.
    Regards, Sergio.

    Monday, October 10, 2011 8:15 AM
  • Hi,

    I was a bit hasty with the deployment.xml config. If you read it carefully it gives the connection string to FAST specific connectors. If you want to modify the connection string for the admin db besides entering the parameters during installation you have to edit this in an unsupported manner.

    If you read my answer at http://social.technet.microsoft.com/Forums/en-AU/fastsharepoint/thread/17cfb844-ae2d-4611-b73b-918b07d9deef, you see you must edit <FASTSearchFolder>\etc\dbconfig.xml in order to provide more option on the jdbc connection for the admin db.

    Hopefully the admin db connection string will be a part of the deployment.xml at some point, or they will give options to provide more information besides a dbname and server instance.

    Regards,
    Mikael Svenson 


    Search Enthusiast - SharePoint MVP/WCF4/ASP.Net4
    http://techmikael.blogspot.com/
    Monday, October 10, 2011 5:17 PM
  • Good morning Mikael.

    I have read your answer, but I'm a bit confused now. I'll explain you why.

    When I tried the deployment.xml method, I could see that "dbconfig.xml" was instantly modified with the same connection string. So, if the connection string provided in deployment.xml is for the connectors, I could assume that dbconfig.xml is for connectors too.

    Searching about dbconfig.xml, the only page I could find is:

    http://technet.microsoft.com/en-us/library/ff381259.aspx

    Which talks about configuring db connectors. 

    And looking inside the dbconfig.xml, there's a definition at the beginning which seems to be related to the connector rather than de admin database:

     

    <!DOCTYPE FastConfig SYSTEM "dtd/FastConnectorConfig-1.0.dtd">

     

     

    So I think the only file in which you can specify the admin database is the hostconfiguration.xml, and it seems that it is not possible to introduce a failover admin database. I hope too that this will be a feature in the future SP2.

     

    Thank you very much for all the alternatives, Mikael, I learned a lot about the internals of the FAST system :)

    Cheers, Sergio

    • Edited by Sergio FC Tuesday, October 11, 2011 8:16 AM
    Tuesday, October 11, 2011 8:15 AM
  • Hi,

    This is very interesting indeed and I'm clearly wrong in my previous posts.

    So, deployment.xml config string modifies the dbconfig.xml, which are only relevant to the FAST connectors. So for the admin db itself, the only way to provide failover is by usig a sql alias and handling it on the sql side.

    hostconfiguration.xml seems to be used by some of the powershell scripts in the installer\scripts folder. After some more digging around I think the file you should edit is:

    C:\FASTSearch\components\admin-services\web.config

    This config file contains the connection string used for the admin services, and is in .Net format. Changing this will affect all commands that interact with the FAST Admin DB. Sorry for not investigating this to the fullest the first time around.

    Remember it's also unsupported to edit the above web.config file.

    (Could you please unmark my previous post as the correct answer, so as not to confuse others reading this thread.)

    Regards,
    Mikael Svenson 


    Search Enthusiast - SharePoint MVP/WCF4/ASP.Net4
    http://techmikael.blogspot.com/
    Tuesday, October 11, 2011 9:09 AM
  • Hello Mikael.

    I checked the file, and when I change the hostconfiguration.xml, and execute the Set-FASTSearchConfiguration, the web.config is changed with the new data.

    So for now it's clear that (in a "legal" way), it is not possible to specify a failover admin server. I hope this issue will be resolved in SP2.

    Many thanks Mikael.

    Regards, Sergio.

    Tuesday, October 11, 2011 11:45 AM
  • Hi,

    But you could do it unsupported, but make sure you fix it after Set-FASTSearchConfiguration, which is true for other supported parts as well.

    -m


    Search Enthusiast - SharePoint MVP/WCF4/ASP.Net4
    http://techmikael.blogspot.com/
    Tuesday, October 11, 2011 1:43 PM
  • Hi, sorry I was offline for few weeks. I effectively had to edit the Web.config file related to the FASTSearchAdminServices IIS site, to make mirrroring works.

    Point is that this parameter is updated each time we run Set-FASTSearchConfiguration. :-(

    It's a pity that Fast do not support failoverdatabase as (almost) every SharePoint Component. If I want to have a fully supported Database fault tolerance for Fast I have to wait for Denali's AlwaysOn Groups to release?

     

    Wednesday, October 19, 2011 7:59 AM