Melakukan BACKUP Database MS SQL Server secara sekaligus

Kalau sebuah instance MS SQL Server sudah memiliki banyak database, melakukan database satu per satu cukup repot dan memakan waktu.

Berikut ini cara melakukannya secara sekaligus (menggunakan MS SQL Server Management Studio):

(1) Buat dulu Stored Procedure berikut ini pada database "master" di setiap instance (kalau anda mempunyai banyak instance).
Praktisnya: klik pada database yang dimaksud, klik "New Query". Pastikan saja Database yang terpilih = "master" (supaya umum dan mudah diingat dimana nyimpan SP nya).

Create PROCEDURE [dbo].[UserDataBaseBackUp]
AS

BEGIN
SET NOCOUNT ON;

DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name
SET @path = 'D:\DATA\BACKUP\SQL2008\' -- as same as your created folder'
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),104)
DECLARE db_cursor CURSOR FOR
  SELECT name
  FROM MASTER.dbo.sysdatabases
  WHERE name NOT IN ('master','model','msdb','tempdb','ReportServer','ReportServerTempDB')
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
  SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
  BACKUP DATABASE @name TO DISK = @fileName
  FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
END


Nama SP nya: UserDataBaseBackUp
Folder tempat file backup: D:\DATA\BACKUP\SQL2008\
(Ubah sesuai folder backup anda, kalau saya membuat folder backup sesuai nama instance biar mudah dikenal).

(2) Kalau sudah mau backup, tinggal klik-kanan aja di nama SP nya, pilih "Execute..."



Selesai!


CATATAN:
Script di atas saya ambil dari sini. Kalau mau lihat asli/lengkapnya monggo visit aja, cuman agak panjang karena banyak alternatif yg jadinya bikin pusing hehe...

Tidak ada komentar:

Posting Komentar