25 November, 2013

Restore site collection within the same farm

We are aware that requirement can be of any form, it might be logically possible or not but when the requirements arises then clock start ticking and task assignment counter starts! :)

One of our users requested such kind of strange request that he wanted the backup of one of the web application to get restored in the same farm with different web application, I tried my level best to convince him that I can get this one restored in development/stage and not understanding the logic of same replica within same farm! But he seems to get this one done so I tried my research and started taking the backup by SQL console.

Backup completed successfully and now the turn of restore – keeping my fingers crossed! Let me tell you guys- you might have done so many backup-restorations across multiple farms but this seems to be unique.
Why unique? – Because you are restoring that backup within the same farm.

As soon as I hit the restore command-BOOM :) it got failed!

Resolution:-

As per this reference- It is not possible to create a duplicate site collection using Content Database backup method. This is because when you restore the content database backup on another empty database the site collection ID remains the same.

Because of this, even if you add the new restored content database both the content databases will have the same site collection ID and that is the reason why the central admin shows only one site collection.

Pretty straight forward to understand and the only possible way to accomplish this requirement are either by PowerShell or by stsadm.

Step –by- details:-
1)   Create a web application by the generic way either by central administration or by PowerShell
2)   By this way – a new database will be created which has an altogether different ID
3)   Take the backup of the main web application that you want to restore on new one by using PowerShell command- Backup-SPSite -Identity “http://amolsharepointgalaxy.com” -Path "E:\Backup\galaxy.bak"
4)   Restore the backup on to the web application that you have created in the step#1
5)   That’s it- you are done.

If you have any queries/questions regarding the above mentioned information then please let me know, Thank you.