Cấp bậc tác giả:

DATABASE

Sử dụng Script để sao lưu tất cả Cơ sở dữ liệu SQL Server trên máy chủ Server

Được viết bởi webmaster ngày 15/04/2020 lúc 07:09 PM
Việc sử dụng T-SQL để đảm nhiệm các nhiệm vụ lặp đi lặp lại như sao lưu tất cả các cơ sở dữ liệu trên máy chủ. Bạn có thể sử dụng SQL Server Management Studio để sao lưu cơ sở dữ liệu hoặc thậm chí sử dụng Maintenance Plan, nhưng sử dụng T-SQL là cách tiếp cận đơn giản và nhanh hơn nhiều.
  • 0
  • 4796

Sử dụng Script để sao lưu tất cả Cơ sở dữ liệu SQL Server trên máy chủ Server

Việc sử dụng T-SQL để đảm nhiệm các nhiệm vụ lặp đi lặp lại như sao lưu tất cả các cơ sở dữ liệu trên máy chủ. Bạn có thể sử dụng SQL Server Management Studio để sao lưu cơ sở dữ liệu hoặc thậm chí sử dụng Maintenance Plan, nhưng sử dụng T-SQL là cách tiếp cận đơn giản và nhanh hơn nhiều.

Với việc sử dụng T-SQL, bạn có thể tạo các lệnh sao lưu và sử dụng con trỏ, bạn có thể trỏ qua tất cả các cơ sở dữ liệu để sao lưu từng cái một. 

Cách sao lưu tất cả cơ sở dữ liệu SQL Server
  • Tạo đường dẫn để lưu trữ bản sao lưu cơ sở dữ liệu
  • Sử dụng định dạng tên tệp sao lưu
  • Chọn danh sách cơ sở dữ liệu để sao lưu
  • Lặp qua cơ sở dữ liệu
  • Lập trình tạo lệnh sao lưu cơ sở dữ liệu bằng cách sử dụng tên cơ sở dữ liệu, đường dẫn và định dạng tên tệp
  • Xem tập lệnh sao lưu SQL Server
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
 
-- specify database backup directory
SET @path = 'C:\Backup\'  
 
-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) 
 
DECLARE db_cursor CURSOR READ_ONLY FOR  
SELECT name 
FROM master.sys.databases 
WHERE name NOT IN ('master','model','msdb','tempdb')  -- exclude these databases
AND state = 0 -- database is online
AND is_in_standby = 0 -- database is not read only for log shipping
 
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

Nếu bạn không thích tên tệp tin tạo mà muốn tên như thế này: DBname_YYYYDDMM_HHMMSS.BAK

Tìm 
-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)

Và thay thế thành

-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) + '_' + REPLACE(CONVERT(VARCHAR(20),GETDATE(),108),':','')

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML