Sharepoint 2016: Separating MySiteHost to its own Web Application in a live farm

Jussi Lehti 601 Reputation points
2020-09-15T07:04:56.943+00:00

Our environment:

  • SP2016 farm with only one webapplication (eg. mysites are in the same webapp)
  • Host Named Site Collections
  • Two authN methods: Default Zone/Windows authentication (for search and service accounts) and Internet Zone/ADFS authentication (for end users)
  • End users come through F5 loadbalancer (SSL Offloading) to FrontEnd servers with dedicated IPs and they use Internet Zone
  • Office Online Server (latest version)

Scenario:

Currently we have only one web application which means mysites and other content (sitecollections etc) are scattered in the same databases which has its known downsides.

We have used a scheduled script to build new separated databases for mysites and content and to move all new mysites and content to correct databases eg. -> Mysites into MySite databases and content into Content databases.

However that solution also gives some headaches because after running that script sometimes some of the sitecollections are showing two times in our custom site which shows all site collections. Resetting the search index fixes that, but we wouldn't want to do that everytime we see those sitecollection duplicates.

So now we are considering to separate MySiteHost SiteCollection to its own webapplication (as it should have been done in the beginning). And we would like to use the same mysitehost site collection with the same url what we are using now.

Could we do it like this?:

  1. Create new webapplication for MySites
  2. Get new specific IP addresses in SP servers and bind them in IIS to the new MySites webapp (also need to configure loadbalancer)
  3. Detach MySiteHost SiteCollection database from the portal webapplication and reattach to the new MySite webapplication
  4. No need to change anything related to managed paths or User profile service app settings because they remain the same in the portal webapp?
  5. Enable Self-service site creation on the new MySite web application
  6. Do I need to detach/reattach also all the MySite databases from the portal webapp to the new MySite webapp?
  7. Any other things to do?
SharePoint Server
SharePoint Server
A family of Microsoft on-premises document management and storage systems.
2,374 questions
SharePoint Server Management
SharePoint Server Management
SharePoint Server: A family of Microsoft on-premises document management and storage systems.Management: The act or process of organizing, handling, directing or controlling something.
2,961 questions
0 comments No comments
{count} votes

Accepted answer
  1. Jussi Lehti 601 Reputation points
    2020-09-17T10:08:59.787+00:00

    That is correct, but as I mentioned in the previous message you need replace the host header with a dedicated IP address. If you remove the host header and select a dedicated IP address for the new webapp site in IIS you can use the same port and it does not give error.

    So first I need to obtain a secondary IP address for the Front End server and configure it in the servers network settings.
    Then I would bind that IP address to the new webapplication site in IIS after I remove the host header.

    And that secondary IP address of course needs to be also binded in the loadbalancer to its own VIP address which would be added to the DNS server.

    I also mentioned that we have done this before so I can tell you it works. :)


2 additional answers

Sort by: Most helpful
  1. Jussi Lehti 601 Reputation points
    2020-09-15T13:16:28.773+00:00

    Or would it be easier just to forget about the current MySiteHost database and use the new one that is created when I create the new MySiteWebapp ?

    Do we even need the current MySiteHost db for anything?

    And then the procedure would be like this:

    1. Take backup from the current MySiteHost db and the MySiteHost sitecollection (just in case)
    2. Create new MySite webapplication and also a new database for it
    3. Get new specific IP addresses for SP-servers and bind those to the new MySiteWebapp-site in IIS
    4. Delete the current MySiteHost sitecollection so we can use the same URL with the new one
    5. Create new MySiteHost sitecollection in the new MySite webapplication with the same URL and other details than the old one
    6. Configure same managed path and other details to the MySite webapp like they were in the portal webapp. (Maybe need to delete the MySite related managed path first from the portal webapp)
    7. Connect MySite webapp to all service applications (default setting)
    8. Enable Self-Service site creation on the new MySite webapp
    9. Configure User Profile Service -> MySite settings as they were before. (Not sure if this needs anything to do if these settings remain as they are now.)
    10. Detach all MySite databases from the portal webapp and reattach them to the new MySite webapp
    0 comments No comments

  2. MichaelHan-MSFT 18,036 Reputation points
    2020-09-16T08:07:03.117+00:00

    Hi anonymous user,

    Anyway, you need to detach/attach the old mysite content database. This is to migrate the data to new web application.

    And the mysite host sitecollection is in the old content db, so you don't have to create new MySiteHost sitecollection in the new web application.

    You need to do the following:

    1.Detach/attach the old mysite content database.

    2.Since your new web application use a new port, you need to change the My Site Host location in mysite settings:

    25171-image.png

    3.Enable Self-service site creation on the new MySite web application


    If an Answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.