- [C#] Dependency Injection in Winform
- [SQLSERVER] Hướng dẫn tìm kiếm nâng cao trên sql
- [C#] Hướng dẫn sử dụng SetTimeOut trên Winform like Javascript
- [DATABASE] In cây thông noel bằng sqlserver
- [C#] Hướng dẫn fix lỗi hiển thị UTF-8 khi sử dụng WebClient Download String
- [DATABASE] Hướng dẫn mã hóa và giải mã sử dụng thuật toán AES 256 trên sqlserver
- [DATABASE] Base64 Encode and Decode trong Sqlserver
- [C#] Vì Mẹ anh bắt phải Fake địa chỉ MacAddress
- [C#] Hướng dẫn xuất dữ liệu từ DataGridview ra file Excel
- [C#] Hướng dẫn khởi động lại chương trình ứng dụng winform
- [C#] Sự khác nhau giữa String.IsNullOrEmpty và String.IsNullOrWhiteSpace
- [C#] Hướng dẫn đọc file hình ảnh định dạng WEBP và chuyển đổi WebP sang JPG
- [C#] Kiểm tra phiên bản Microsoft Office đang sử dụng trên máy tính
- [C#] Hướng dẫn chuyển đổi tập tin hình ảnh XPS sang Bitmap
- [C#] Giới thiệu Component WebView2 của Microsoft
- [C#] Hướng dẫn lưu tất cả hình ảnh từ File Excel vào thư mục window
- [DATABASE] Hướng dẫn import và export hình ảnh image từ Sqlserver
- [DATABASE] Hướng dẫn sử dụng Hàm ASCII trong sqlserver
- [C#] Hướng dẫn fix lỗi Visual Studio 2022 not Support Target Net Framework 4.5.2
- [C#] Giới thiệu thư viện Sunny UI thiết kế giao diện trên Winform
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 đượ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.