Hướng dẫn Backup và nén Database Sqlserver và sau đó upload file lên FTP Server
Hôm nay, mình xin tiếp tục hướng dẫn cho các bạn backup và nén dữ liệu database rồi sau đó, upload file nén vừa backup được lên FTP Server . Nếu các bạn đã từng làm việc với hệ thống database có mô hình lớn, thì công việc backup và restore sẽ luôn ...
Hôm nay, mình xin tiếp tục hướng dẫn cho các bạn backup và nén dữ liệu database rồi sau đó, upload file nén vừa backup được lên FTP Server.
Nếu các bạn đã từng làm việc với hệ thống database có mô hình lớn, thì công việc backup và restore sẽ luôn được thực hiện thường xuyên, để bảo đảm về an toàn dữ liệu.
Đối với các bạn lập trình, sau mỗi ngày làm việc chúng ta đều backup database và sau đó nén file database đó, mang về nhà để tiếp tục sử dụng cho công việc, công việc đó hầu như ngày nào cũng lặp đi lặp lại, sẽ làm cho mình tốn rất nhiều thời gian.
Vd: Quy trình backup dữ liệu tại server.
Bước 1: Bạn sẽ phải login vào máy chủ và sử dụng chương trình Sqlserver Management Studio để backup full database.
Bước 2: Với database có dung lượng lớn, các bạn sẽ lại nén file backup đó thành một file zip.
Bước 3: Chép file zip vừa backup về máy của mình.
Chính công việc đó, sẽ làm cho chúng ta mất rất nhiều thời gian và nhàm chán.
Vì thế, hôm nay, mình xin chia sẽ cho các bạn cách sử dụng câu lệnh T-SQL để thực hiện ba bước công việc trên chỉ bằng một click chuột.
Các bước công việc mình cần thực hiện:
+ Đầu tiên, các bạn cần tạo một FTP SERVER để lấy database về máy của mình, các bạn có thể sử dụng Xampp hoặc ISS để tạo FTP Server.
+ Tiếp theo, mình sẽ sử dụng câu lệnh T-sql để backup database của mình về máy chủ.
+ Máy chủ phải cài chương trình nén file (Winrar) để thực hiện nén database.
Dưới đây, là toàn bộ câu lệnh để thực hiện công việc backup và nén và upload lên FTP server.
Cuối bài viết, mình sẽ thực hiện một video để cho các bạn dễ tham khảo:
DECLARE @fname varchar(255) DECLARE @fname_backup varchar(255) DECLARE @fname_archive varchar(255) DECLARE @archive_path varchar(255) DECLARE @dbname varchar(255) DECLARE @archive_cmd varchar(255) DECLARE @put_cmd varchar(255) DECLARE @delFname_backup varchar(255) SET @dbname = 'SINHVIEN' SET @fname = @dbname + '_' + LTRIM(STR(DAY(GETDATE()))) + '.' + LTRIM(STR(MONTH(GETDATE()))) + '.' + LTRIM(STR(YEAR(GETDATE()))) + '_' + LTRIM(STR(DATEPART(HOUR,(GETDATE())))) + '.' + LTRIM(STR(DATEPART(MINUTE,(GETDATE())))) + '.' + LTRIM(STR(DATEPART(SECOND,(GETDATE())))) SET @archive_path = 'F:Backup' SET @fname_backup = @archive_path + @fname + '.BAK' SET @delFname_backup = 'del ' + @fname_backup SET @fname_archive = @archive_path + @fname + '.RAR' SET @archive_cmd = '"C:Program FilesWinRARWinRAR.EXE" a ' + @fname_archive + ' ' + @fname_backup SET @put_cmd = 'echo put ' + @fname_archive + '>> F:Backupftpcmds.txt' PRINT @fname_backup PRINT @fname_archive BACKUP DATABASE @dbname TO DISK = @fname_backup WITH INIT EXEC xp_cmdshell @archive_cmd EXEC xp_cmdshell @delFname_backup EXEC xp_cmdshell 'echo open 192.168.0.78> F:Backupftpcmds.txt' EXEC xp_cmdshell 'echo user nguyenthao>> F:Backupftpcmds.txt' EXEC xp_cmdshell 'echo 123456>> F:Backupftpcmds.txt' EXEC xp_cmdshell 'echo cd HOB_backup_database>> F:Backupftpcmds.txt' EXEC xp_cmdshell 'echo bin>> F:Backupftpcmds.txt' EXEC xp_cmdshell 'echo ha>> F:Backupftpcmds.txt' EXEC xp_cmdshell @put_cmd EXEC xp_cmdshell 'echo bye>> F:Backupftpcmds.txt' EXEC xp_cmdshell 'ftp -d -i -n -s:F:BACKUPftpcmds.txt'
- Câu lệnh để enable xp_cmdshell có thể chạy trong sqlserver
-- To allow advanced options to be changed. EXEC sp_configure 'show advanced options', 1 GO -- To update the currently configured value for advanced options. RECONFIGURE GO -- To enable the feature. EXEC sp_configure 'xp_cmdshell', 1 GO -- To update the currently configured value for this feature. RECONFIGURE GO
VIDEO HƯỚNG DẪN THỰC HIỆN
CHÚC CÁC BẠN THÀNH CÔNG!
Nếu thấy bài viết có ích hãy like and share giúp mình nha các bạn.