Ketika kita memindahkan sebuah database ke server lain (baik untuk keperluan testing, pemindahan server dll), hal yang harus dipikirkan adalah selain harus melakukan backup dan restore database adalah menyalin login-login yang ada di server sebelumnya (perkerjaan kedua ini yang kadang bikin sakit kepala, bisa ngebayangin kan? Bagaimana memindahkan login ratusan user misalkan)
Sebelumnya yang saya lakukan adalah membuat list userid semua user yang login, kemudian di create ulang di server sql baru, kecuali password tentunya, karena saya tidak bersedia menanyakan password-password tsb ke semua user yang banyak tsb. (confidential ya).
Seperti biasa passwordnya kemudian dicreate default dan di inform ke user-user. (Dijamin user akan cemberut, passwornya diacak-acak)
TERNYATA ada cara untuk menyalin login tsb berikut passwordnya, betapa leganya
) Langkahnya sbb:
1. Pada SQL server pertama (yang mau dipindahkan databasenya), jalankan perintah sql berikut:
***
SELECT ‘exec sp_addlogin [’+ name+’],’, password,
‘,@sid =’,sid,
‘,@encryptopt=skip_encryption’
FROM master..sysxlogins
WHERE name IS NOT NULL
***
Berikut adalah contoh output perintah diatas:
exec sp_addlogin [derrya],
0x01008C73A07B7D8DA72C972A95D7C04DCC95E6FA1D115E2D513AA0EB4126E3DA50193D6BFA
2091788E449BD776CD ,@sid = 0x8C8CCDFFE89D1943BFFD3DC1A75D1CA4
,@encryptopt=skip_encryption
2. Kemudian salin output tsb (copy paste gitu) dan simpan di dalam suatu file (.txt atau .sql misalkan). Lalu file tsb dijalankan di sql server yang dituju.
Selamat! Anda sudah bisa menyalin login user-user tsb, tanpa create ulang/manual.
Selamat mencoba.
