Mengelola database dalam lingkungan pengembangan sering kali menghadapi tantangan terkait ruang penyimpanan. Dalam kasus ini, tim Business Intelligence SQL Server ingin menyalin database Data Warehouse yang sedang berjalan ke server pengembangan untuk tujuan pengujian. Namun, masalah muncul ketika tidak ada ruang kosong di drive lokal untuk menyimpan database dan file cadangan. Solusi yang ditemukan adalah dengan menggunakan jaringan sebagai tempat penyimpanan cadangan database.
Menggunakan Jaringan sebagai Tempat Cadangan
Salah satu metode yang efektif adalah dengan memetakan drive jaringan ke SQL Server sehingga dapat digunakan untuk proses backup dan restore. Proses ini melibatkan beberapa langkah teknis yang perlu dilakukan secara hati-hati agar tidak mengganggu sistem lainnya.
Memetakan Drive Jaringan
Pertama, Anda perlu memetakan drive jaringan dari server lain ke komputer yang menjalankan SQL Server. Langkah ini dapat dilakukan melalui Windows Explorer dengan fungsi “Map Network Drive”. Setelah drive terpeta, Anda perlu memastikan bahwa SQL Server dapat mengaksesnya.
Mengaktifkan xp_cmdshell
xp_cmdshell adalah perintah SQL Server yang memungkinkan eksekusi perintah baris perintah (command line) dari dalam SQL Server. Perintah ini biasanya dinonaktifkan secara default, sehingga perlu diaktifkan terlebih dahulu. Berikut adalah cara mengaktifkannya:
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'xp_cmdshell', 1;
GO
RECONFIGURE;
GO
Setelah xp_cmdshell aktif, Anda dapat menggunakan perintah net use
untuk memetakan drive jaringan ke SQL Server. Contoh perintahnya adalah:
EXEC XP_CMDSHELL 'net use H: \\RemoteServerName\ShareName'
Verifikasi Drive yang Dipetakan
Setelah drive jaringan dipetakan, Anda dapat memverifikasi apakah drive tersebut tersedia dengan menjalankan perintah berikut:
EXEC XP_CMDSHELL 'Dir H:'
Perintah ini akan menampilkan daftar file yang ada di drive yang telah dipetakan. Setelah verifikasi berhasil, Anda dapat menggunakan drive tersebut untuk backup atau restore database melalui SQL Server Management Studio (SSMS).
Membuat Backup Database Otomatis
Selain proses manual, Anda juga dapat membuat backup database secara otomatis menggunakan Maintenance Plan di SSMS. Berikut langkah-langkahnya:
- Pastikan SQL Agent berjalan.
- Klik kanan pada Maintenance Plans > New Maintenance Plan.
- Beri nama maintenance plan, misalnya “Backup_dbLatihan”.
- Tambahkan task “Execute T-SQL Statement Task” dari Toolbox.
- Buat stored procedure yang akan dieksekusi oleh task tersebut.
Contoh stored procedure untuk backup database:
CREATE PROCEDURE SP_BACKUP_DB_LATIHAN
AS
DECLARE
@backup_name varchar(500),
@file_name varchar(800),
@dir_file varchar(800)
-- SETTING DIRECTORY DAN NAMA FILE
SET @dir_file='C:\SQLBackup\'
SET @file_name='dbLatihan_'+CONVERT(VARCHAR(8),GETDATE(),112)+'_'+REPLACE(CONVERT(VARCHAR(8),GETDATE(),114),':','')
SET @backup_name=@dir_file+@file_name
-- JALANKAN BACKUP
BACKUP DATABASE [dbLatihan] TO DISK = @backup_name WITH INIT , NOUNLOAD , NAME = N'TdbLatihan_backup', NOSKIP , STATS = 10, NOFORMAT
Menjadwalkan Backup Otomatis
Setelah stored procedure dibuat, Anda dapat menentukan jadwal pelaksanaannya. Pilih opsi “One Time” dan atur waktu sekitar 5 menit kemudian untuk memastikan proses berjalan.
Menghapus Drive yang Dipetakan
Setelah selesai melakukan backup atau restore, Anda dapat menghapus drive jaringan yang telah dipetakan dengan perintah berikut:
EXEC XP_CMDSHELL 'net use H: /delete'
Kesimpulan
Menggunakan jaringan sebagai tempat penyimpanan backup database adalah solusi yang efektif ketika ruang penyimpanan lokal terbatas. Dengan memetakan drive jaringan dan mengaktifkan xp_cmdshell, Anda dapat mengakses dan mengelola database secara lebih fleksibel. Selain itu, membuat backup otomatis melalui Maintenance Plan membantu menghemat waktu dan sumber daya. Dengan langkah-langkah di atas, Anda dapat memastikan bahwa database tetap aman dan mudah diakses kapan saja.