Membuat User dan DB via Query
Bagus! Berikut panduan lengkap untuk:
-
Membuat user SQL baru
-
Membuat database baru
-
Memberi akses user tersebut hanya ke database spesifik
๐ฏ Contoh Skenario
Misalnya kamu ingin:
-
Membuat database baru:
db_karyawan
-
Membuat login/user baru:
user_karyawan
-
Memberi password:
Karyawan123!
-
User hanya bisa mengakses dan mengelola
db_karyawan
saja
๐งฑ LANGKAH 1: Buat Database Baru
Buka SSMS, login sebagai admin (sa
atau Windows Authentication), lalu jalankan query berikut:
CREATE DATABASE db_karyawan;
GO
๐งโ๐ผ LANGKAH 2: Buat Login di SQL Server
CREATE LOGIN user_karyawan WITH PASSWORD = 'Karyawan123!';
GO
๐ Pastikan password-nya kuat (kombinasi huruf, angka, simbol, minimal 8 karakter).
๐ LANGKAH 3: Buat User di dalam Database Tertentu
USE db_karyawan;
GO
CREATE USER user_karyawan FOR LOGIN user_karyawan;
GO
๐ง Perlu dipahami:
LOGIN
adalah akses ke level server
USER
adalah akses ke level database
๐ก๏ธ LANGKAH 4: Beri Hak Akses ke User HANYA di Database Tersebut
Contoh hak akses basic (read + write):
ALTER ROLE db_datareader ADD MEMBER user_karyawan;
ALTER ROLE db_datawriter ADD MEMBER user_karyawan;
Jika user juga perlu membuat tabel/stored procedure:
ALTER ROLE db_ddladmin ADD MEMBER user_karyawan;
Kalau ingin full access ke DB:
ALTER ROLE db_owner ADD MEMBER user_karyawan;
๐งช LANGKAH 5: Uji Login dari SSMS
-
Logout dari SSMS
-
Login lagi dengan:
-
Login:
user_karyawan
-
Password:
Karyawan123!
-
Authentication: SQL Server Authentication
-
User ini sekarang:
โ
Hanya bisa melihat dan mengakses db_karyawan
โ Tidak bisa melihat database lain
๐จ Tips Tambahan
-
Untuk membatasi akses user hanya ke 1 database, jangan beri role
sysadmin
atauserveradmin
. -
Gunakan
DENY VIEW ANY DATABASE
di level server jika ingin menyembunyikan database lain sepenuhnya:USE master; DENY VIEW ANY DATABASE TO user_karyawan;
Kalau kamu mau contoh untuk user readonly saja, atau untuk koneksi aplikasi (.NET, Laravel, dll), tinggal bilang โ saya bantu buatkan juga.