GIT – Có thể bạn sẽ gặp rắc rối khi backup hàng trăm CSDL (cơ sở dữ liệu) website của khách hàng một cách thủ công hay phải trả tiền cho các phần mềm backup. Hôm nay tôi sẽ hướng dẫn các bạn backup hàng trăm CSDL chỉ trong tích tắc và một cách tự động trên hệ quản trị SQL Server 2008

Bước 1: Tạo script backup bằng ngôn ngữ SQL Server. Bạn có thể sử dụng script ở bên dưới.

DECLARE @name VARCHAR(50) — database name
DECLARE @path VARCHAR(256) — duong dan file backup
DECLARE @fileName VARCHAR(256) — ten file backup
DECLARE @fileDate VARCHAR(20) — lay ngay backup

SET @path = ‘<strong>C:\patch</strong>’

SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)

DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN (‘master’,’model’,’msdb’,’tempdb’)

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

Bước 2: Tạo batch script.
Mở Notepad lên và copy đoạn sau rồi lưu lại.

sqlcmd -S .\MSSQLSERVER2008</strong> -i “D:\SQL Query\BackupAll.sql”

*Trong đó .\MSSQLSERVER2008 là server name. F:\SQL Query\BackupAll.sql là đường dẫn file SQL bên trên.

Bước 3: Kích hoạt chế độ tự động với  Task Scheduler.
Vào cửa sổ RUN và dán đoạn này vào.

schtasks /create /sc Daily /st 03:30:00 /tn “MyTask” /tr “cmd /c
C:\Users\Administrator\Desktop\Backup.bat

Bạn có thể làm điều tương tự với giao diện trực quan của Task Scheduler.

Chú ý: Bạn có thể thay đổi các chi tiết sau sao cho phù hợp với server của bạn:

  • ‘C:\patch’ –> bước 1
  • .\MSSQLSERVER2008 –> bước 2
  • “F:\SQL Query\BackupAll.sql” –> bước 2
  • C:\Users\Administrator\Desktop\Backup.bat –> bước 3

Chúc các bạn thành công để có thể yên tâm về vấn đề database của mình trong những kỳ nghỉ.

Print Friendly

Comments

comments

Bài viết liên quan