Merestore Sharepoint site dari SQL backup (bak)

Hari ini diminta untuk merestore Sharepoint backup sama klien, the thing is… yang dia berikan adalah file dump backup SQL (yang biasanya ekstensinya .bak)

Secara teori sih bisa dilakukan, tapi prakteknya pasti bermasalah. tapi ya karena client sudah mengirim file ratusan mega itu, terpaksa kita coba dulu 🙂

Well, hal pertama yang dilakukan di SQL Server adalah:

  1. Merestore file backup itu ke SQL-Server
  2. Pastikan security di database yang direstore yang digunakan menggunakan Administrator Windows Authentication (untuk menghindari masalah nantinya)

Hal yang dilakukan di Sharepoint Central Administrator

  1. Buat Web Apllication baru, masukan nilai2 sesuai environment dan jangan ubah database namenya. Tidak usah membuat site collection, jangan ubah nama database contentnya (soalnya nanti kita hapus)

    wss_content

    wss_content

  2. Masuk ke Application Management -> Content Database, dan hapus database WSS_Content yang terattach ke web-application yang tadi dibuat

    content database

    content database

  3. Masuk ke command prompt, jalankan stsadm untuk menambah content database, alasan aku menggunakan stsadm adalah agar aku bisa tahu error apa yang terjadi dalam proses penambahan content databasenya 🙂
    stsadm -o addcontentdb -url http://server:port -databasename namadatabasecontentyangdirestore -databaseserver namaserverdatabase
    
  4. Kalau prosesnya lancar, coba buka sitenya di web-browser, semua selesai 🙂

Dalam proses yang aku lakukan, ternyata terjadi error. Error yang terjadi di environmentku nampak seperti ini:

The specified SPContentDatabase Name=wss_content_internet Parent=SPDatabaseServiceInstance has been upgraded to a newer version of SharePoint. Please upgrade this SharePoint application server before attempting to access this object.

Error yang sudah diduga karena perbedaan versi Sharepoint milik client dan milikku. Hal yang aku lakukan adalah membuka database contentnya secara manual di SQL Management Studio dan merubah version database yang direstore secara paksa agar sesuai sama version database content yang ada.

SELECT [VersionId]
,[Version]
,[Id]
FROM [WSS_Content_Restored].[dbo].[Versions]
<p>SELECT [VersionId]
,[Version]
,[Id]
FROM [WSS_Content_YangAda].[dbo].[Versions]

Different Version

Different Version

Sesuai dugaan, Hasilnya beda versi, jadi aku mengupdate versi database yang direstore agar sama dengan versi database yang ada di lokal dengan menggunakan SQL UPDATE biasa.

Perlu diingat ini adalah hack, jadi begitu site sudah up, lakukan backup-restore yang proper 🙂

Similar Version

Similar Version

Setelah versinya sama, coba jalankan stsadm lagi, dan akses sitenya.

Voila! it works! 🙂

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s