Oleh: Ries | April 20, 2007

.sharepointmaniaxxx (1)

CMUSMR

Cara Mereplace User Setelah Melakukan Restore PadaWindows Sharepoint Services 3.0

Masalah

Setelah melakukan restorasi web site sharepoint (baik melalui site backup ataupun spd – tidak disarankan), maka user-user yang ada di dalam situs sharepoint yang lama adalah user-user yang lama. Contoh : user lama menggunakan domain seperti ini – SERVERA\ami, sedangkan kita merestore di server yang lain dan usernya berubah menjadi seperti ini – SERVERB\ami, maka kita harus mereplace semua user di dalam situs kita, termasuk akses ke situs-situs yang site permission sudah tidak mengikuti permission parentnya.

Hal ini tidak akan menjadi masalah jika :

1. Pembuatan permission menggunakan best-practice penggunaan group dan bukan langsung user, sehingga kita tinggal merubah anggota group saja.

2. Anda cukup sabar untuk me-replace semua user tersebut satu per satu.

Saya tidak sesabar itu dan saya tidak melakukan best-practice (penyesalan memang datang belakangan). Maka karena itu saya mencari tahu (dan akhirnya menemukan) solusinya.

Solusi

Notice: akses database situs sharepoint menggunakan Enterprise Manager untuk SQL 2000, query menggunakan SQL Analyzer.

Sesungguhnya, semua permission di tiap list sharepoint itu dicatat dengan menggunakan ID user di dalam database. Ini cukup melegakan, karena berarti ada satu tabel yang khusus berisi informasi tentang user-user tersebut, dan kita tinggal merubah field2x di dalamnya. Dan saya menemukan bahwa tabel UserInfo-lah yang bertanggung jawab untuk hal tersebut. Maka saya melakukan langkah-langkah ini :

1. Menambahkan user pengganti ke dalam sharepoint site sehingga ikut muncul di tabel UserInfo. Misal SERVERB\ami.

2. Memperhatikan, menyelidik, dan menyimpulkan bahwa field2 yang perlu kita ganti adalah field2 berikut : tp_SystemID, tp_Login, tp_Title.

3. Melakukan pengambilan tp_SystemID dengan menggunakan query : SELECT tp_SystemID, tp_Login FROM UserInfo WHERE tp_Login=’SERVERB\ami’

4. Mendapatkan tp_SystemID yang berbunyi seperti berikut : “0×010500000000000515000000B2EFF12570C5FD97523270C122040000″

5. Menghapus user SERVERB\ami dari tabel supaya tidak terjadi konflik dengan query DELETE FROM UserInfo WHERE tp_Login=’SERVERB\ami’

6. Melakukan update alias mengganti user SERVERA\ami dengan SERVERB\ami dengan query UPDATE UserInfo SET tp_SystemID=(0×010500000000000515000000B2EFF12570C5FD97523270C122040000) WHERE tp_Login=’SERVERA\ami’

7. Tahap berikut dari poin (6) : UPDATE UserInfo SET tp_Login=’SERVERB\ami’, tp_Title=’SERVERB\ami’ WHERE tp_Login=’SERVERA\ami’

8. Selesai, om puas, semua senang :-D

note : sekedar pingin nyatet cara saya finding solution sebagai amatiran … maap … 


Beri tanggapan

Your response:

Kategori