Skip to main content

Membuat User dan DB via Query

Bagus! Berikut panduan lengkap untuk:

  1. Membuat user SQL baru

  2. Membuat database baru

  3. 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

  1. Logout dari SSMS

  2. 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 atau serveradmin.

  • 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.