Sao lưu tự động hàng loạt cơ sở dữ liệu

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Sao lưu tự động hàng loạt cơ sở dữ liệu

Bài gửi by ontology on Fri Apr 27, 2012 10:45 am

Công việc quản trị CSDL của DB Admin không thể thiếu việc sao lưu và phục hồi, ngoài những thiết lập nâng cao như tạo schedules, bạn có thể dùng stored procedure sau đây để thực hiện sao lưu tất cả các csdl trên Server:

DECLARE @name VARCHAR(50) -- biến lưu tên csdl
DECLARE @path VARCHAR(256) -- đường dẫn cho tập tin sao lưu (tập tin .bak)
DECLARE @fileName VARCHAR(256) -- tên tập tin sao lưu
DECLARE @fileDate VARCHAR(20) -- ngày sao lưu

SET @path = 'D:\BackupDB\' -- thư mục lưu các tập tin .bak

SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) -- lấy ngày thực hiện sao lưu
-- khai báo con trỏ chứa tên tất cả csdl trên server, ngoại trừ các csdl đặc biệt (master,model,msdb,tempdb)
DECLARE db_cursor CURSOR FOR
SELECT name
FROM MASTER.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb')
-- bắt đầu xử lý
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name

WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK' --tạo tên file .bak
BACKUP DATABASE @name TO DISK = @fileName -- lệnh sao lưu của SQL Server

FETCH NEXT FROM db_cursor INTO @name
END
--đóng con trỏ và giải phóng tài nguyên
CLOSE db_cursor
DEALLOCATE db_cursor

* Nguồn: sưu tầm từ internet
Chúc các bạn thành công.

ontology

Tổng số bài gửi : 9
Join date : 26/04/2012
Đến từ : TP. Hồ Chí Minh

Xem lý lịch thành viên

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết