Admin Database
A. Keamanan
Database
Database
Security atau keamanan database adalah pengamanan terhadap objek database.
Keamanan
database berfungsi untuk memastikan user
memiliki hak akses pada objek database.
>
Permission
berfungsi untuk memberikan hak akses user ke objek database.
> Login
atau logon adalah proses dalam mengakses sistem komputer dengan menggunakan
credential user.
>
User
account digunakan untuk memperesentasikan user dalam system elektronik.
B. Level
Keamanan
Keamanan
pada SQL Server dibagi menjadi dua , yaitu : level server dan level database.
1. Level Server
Kemanan
lever server memiliki tiga metode login yang dapat digunakan, yaitu :
·
Windows
User Login
·
Memeber
pada windows user group
·
SQL
Server Login
User yang terdaftar pada role sysadmin
memiliki akses penuh pad setiap server, database, dan objek. Role adalah peran
seorang user dalam sebuah database atau server.
Windows Authentication
Windows Security adalah keamanan yang
digunakan SQL Server dengan menggunakan kemanan system windows. Pada windows
service accounts tersedia tiga tipe account yang dapat digunakan, yaitu :
·
Local
user account : hanya pada local
machine.
·
Local
system account : account tertinggi pada
SQL Server.
·
Domain
user account : dapat menggunakan windows
account.
Authentication adalah tingkatan
membuktikan atau mengkonfimasi identitas user. Windows Authentication adalah
metode login dengan menggunakan windows account.
SQL Authentication
Mixed mode dapat terhubung dengan SQL
Server menggunakan Windows Authentication dan SQL Server Authentication. SQL
Server login memiliki akun dan password yang tersimpan pada SQL Server. Akun
yang digunakan sebagai administrator disebut sa account.
Server Role
Ø Server role pada SQL Server ada tiga,
yaitu :
·
Fixed
role :
>
Role
yang telah disediakan oleh SQL Server untuk digunakan.
>
Grant
permission tidak dapat diubah.
·
Public
role :
>
Role
yang termasuk ke dalam fixed role.
>
Setiap
user secara otomatis bagian dari public role dan tidak dapat dihapus.
>
Role
yang memiliki level permission paling minim.
·
User-defined
role :
>
Role
yang dapat diubah grant permisionnya sesuai dengan kebutuhan.
Ø Macam-macam role pada fixed server
role, sebagai berikut :
· Bulkdomain : dapat melakukan insert pada
jumlah besar.
·
Dbcreator : dapat create, alter, drop,
dan restore database.
·
Diskadmin : dapat create, alter, dan drop
disk file.
·
Processadmin : dapat menghentikan proses pada SQL
Server.
·
Securityadmin : dapat mengelola login untuk server.
·
Serveradmin : dapat konfigurasi pengaturan
server, menambahkan pencarian full-text
dan shutting down server.
· Setupadmin : dapat konfigurasi lingked
server, menambahkan stored procedure, dan melakukan startup procedure.
·
Sysadmin : dapat melakukan apapun di
dalam SQL Server.
Guest Login
User yang belum diberikan hak akses
ke database di sebut sebagai Guest User. Guest user tidak
terbentuk ketika database dibuat, tetapi perlu menambahkannya. Transact-SQL
untuk menambahkan Guest user :
EXEC sp_adduser
‘GUEST’
2. Level Database
User
diarahkan ke database yang telah ditentukan. Permission untuk user ditambahkan ke dalam database. Objek
permission untuk user ada tiga, yaitu :
·
Grating permission :
memiliki hak akses ke dalam objek.
·
Denying permission :
menimpa grant permission.
·
Revoking permission :
menghapus permission.
Role pada database ada tiga, yaitu :
·
Fixed
database role
·
Usr-defined
role
·
Public
role
Role memiliki permission ke objek
database. User dapat dimasukkan ke dalam satu atau lebih fixed database rolr
dam user-defined role. Macam-macam role pada fixed database role :
· db_accesadmin : user memiliki otorisasi untuk
mengakses database, tetapi tidak untuk mengelolanya.
· db_backupoperator : mengizinkan user untuk melakukan backup,
checkpointm dan DBCC commands, tapi tidak untuk restore.
· db_datareader : mengizinkan user untuk read semua data
di dalam database.
· db_datawriter : mengizinkan semua user untuk write
semua data pada database.
· db_ddladmin :
user memiliki otoritasi dalam perintah DDL.
· db_denydatareader : memberikan permission ke user untuk read dari tabel manapun dalam database.
· db_denydatawriter : memblok user dari modifikasi data pada
tabel manapun dalam database.
· db_owner : ini merupakan role spesial
yang memiliki semua permission dalam
database.
· db_securityadmin : memberikan permission ke user untuk mengelola keamanan level.
Memahami Permission Objek
Permission objek adalah permission
yang mengizinkan user untuk melakukan aksi pada objek database. Contoh : tabel,
stored procedure, dan view. Beberapa permission objek yang ada :
·
Select : hak untuk select
data.
·
Insert : hak untuk insert
data.
·
Update : hak untuk
memodifikasi data yang telah ada.
·
Delete : hak untuk mendelete
data.
·
DRI
(Reference) : hak untuk membuat
foreign key dengan DRI.
·
Execute
: hak untuk
eksekusi stored procedure atau fungsi.
C. Backup dan
Restore Database
Backup
dan restore database berfungsi untuk mengurangi resiko hilangnya data yang diakibatkan oleh kerusakan komputer. Model Recovery pada SQL Server ada tiga,
yaitu :
·
Simple
Recovey
>
Transaksi
log ter truncate sehingga pilihan recovery menjadi terbatas.
>
Menurunkan
overhead maintenance.
·
Full
Recovery
>
Transaksi
log masuk berdasarkan waktu.
>
Dapat
restore data berdasarkan point-in-time.
>
Transaksi
log harus di hapus secara manual.
·
Bulk-Logged
>
Transaksi
log meggunakan space yang sedikit.
>
Tidak
bisa recovery berdasarkan point-in-time.
Memahami Backup Database
Backup database pada SQL Server ada
tiga, yaitu :
·
Full
Backup :
Membackup
seluruh data.
·
Differential
Backup :
Membackup
data terakhir sejak full backup dilakukan. Mengurangi jumlah transaction log
yang harus direstore.
|
Hari-1
|
Hari-2
|
Hari-3
|
Hari-4
|
Ukuran database
|
200 MB
|
250 MB
|
350 MB
|
375 MB
|
Jumlah yang dibackup
|
200 MB
|
50 MB
|
150 MB
|
175 MB
|
·
Incremental
Backup :
Membackup
data terakhir sejak full atau incremental backup dilakukan. Incremental backup
membutuhkan semua file incremental backup agar dapat direstore secara lengkap.
|
Hari-1
|
Hari-2
|
Hari-3
|
Hari-4
|
Ukuran database
|
200 MB
|
250 MB
|
350 MB
|
375 MB
|
Jumlah yang dibackup
|
200 MB
|
50 MB
|
100 MB
|
25 MB
|
Keterangan
: Full Backup, Differential
Backup, Incremental
Backup.
Transaction
Log :
Membackup
file actives log database, berguna
untuk melakukan tracing.
Memahami Partial dan Differential
Backups
>
Partial
dan differential partialbackup didesain untuk memdahkan dalam membackup
databasae berisi filegroups.
>
Partial
backup :
·
Backup
semua data pada primar filegroup, setiap read/write file group
·
Setiap
opsional read-only file atau filegroup.
·
Berisi
read-only database primary filegroup.
>
Differential
backup :
·
Hanya
berisi data dari terakhir modifikasi.
Memahami
File Backup
>
File
di dalam database dapat di backup secara individual.
>
File
backup : backup data secara keseluruhan di dalam satu atau beberapa file atau
filegroup.
>
Differential
file backup : backup data di dalam satu atau beberapa file atau filegroup.
Memahami
Restore Database
SQL
server mendukung berbagai cara restore database, yaitu :
· Complete
database restore : restire seluruh database, berdasarkan Full database hingga
differential database backup.
·
File
restore : restore file atau filegroup di dalam multi-filegroup database.
·
Page
resrore : restore halaman.
·
Piecemeal
restore : restore database bertahap,
dimuali primary filegroup dan satu atau lebih secondary filegroup.
·
Recovery
only : recovery data yang sesuai dengan database dan hanya dibuat available.
· Transaction
log restore : di bawah full or bulk-logged recovery model, restore dari log
backups.
· Create
mirror database : mirror database, memiliki duplikat database dalam beberapa
server. Ketika informasi masuk ke server pertama, secara otomatis meniru di
server kedua.
· Create
and maintain a standby server : terdapat active-passive cluster pada dua atau
lebih server, ketika aktif server gagal, maka pasif server menjadi aktif.
Perintah
Restore
Perintah
T-SQL dapat melakukan restore dalam beberapa skenario, yaitu :
·
Restore
seluruh database dari full database backup (complete restore).
·
Restore
partial database (partial restore).
·
Restore
spesifik file atau filegroup ke database (file restore).
·
Restore
spesifik page ke database (page restore).
·
Restore log transaksi ke dalam database (restore log
transaksi).
·
Revert
database ke point-on-time yang diambil oleh database snapshot.
Contoh restore database menggunakan
spesifik file :
RESTORE
DATABASE <nama_database> FROM DISK = ‘<nama_backup>’
Komentar
Posting Komentar