Backup là một trong những tính năng cơ bản nhưng rất quan trọng khi bạn làm việc database. MS SQL Server cung câp tính năng backup riêng của mình, mặc định bản backup sẽ được lưu trữ trong thư mục backup trong chính máy cài đặt SQL server. Giả định rằng, bạn có như cầu backup thẳng bản backup qua một máy khác, trong bài này tôi sẽ giới thiệu cách backup SQL database sang vào một thư mục chia sẻ trên một máy tính khách trong hệ thống mạng.
Điều kiện để thực hiện là cả File Server và SQL Server đều là thành viên của một Domain Controller. Chúng ta có mô hình như sau:
Trên máy DC:
Bạn tiến hành tạo một tài khoản sqlservice, tài khoản này chỉ cần là thành viên của Domain Users.
Trên File Server:
Bạn thực hiện tạo một thư mục cho Backup SQL Server, cấp quyền truy cập NTFS cho account sqlservice.
Bạn thực hiện chia sẻ một thư mục cho Backup SQL và cấp quyền truy cập Share Folder cho account sqlservice.
Trên SQL Server:
Khi cài đặt SQL Server theo mặc định, bạn sẽ thấy rằng SQL Server sẽ được chứng thực logon service bằng NT Service\MSSQLSERVER. Đây là tài khoản sẽ được sinh ra trên local.
Để thực hiện việc Backup SQL qua Share Folder, bạn thực hiện thay đổi tài khoản logon service này qua tài khoản d0main, cụ thể bài này là sqlservice đã tạo ở phần trên. Click phải lên SQL Server (MSSQLSERVER), chọn Properties, chọn tab Log On.
Bạn thay đổi account NT Service\MSSQLSERVER thành account sqlservice đã tạo.
Hệ thống cảnh báo, account Log On của service SQL Server đã thay đổi qua accout sqlservice.
Một cảnh báo tiếp theo, cần restart service của SQL Server.
Bạn tiến hành restart SQL Server Service.
Trên máy SQL Server:
Để thực hiện backup, thông thường bạn sẽ dùng phần đồ họa của SQL Server Management Studio cung cấp. Ở giao diện này, dù bạn đã chuyển accout Log On nhưng vẫn sẽ chưa thể sử dụng đường dẫn lưu trữ qua share folder được.
Để thực hiện, bạn phải dùng đến lện trên SQL Query. Code mẫu như sau:
USE [master]
BACKUP DATABASE [DEMO_DB] TO DISK = N'\\file-server\BackupSQL\DEMO_DB.bak' WITH NOFORMAT, NOINIT, NAME = N'DEMO_DB-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
Sau khi lên backup được thực hiện thành công, bạn có thể truy cập vào thư mục chia sẻ trên File Server để kiểm tra file backup được tạo ra.
Bạn lưu ý, file backup sẽ được tạo ra dưới quyền của sqlservice, nên việc cấp quyền ghi cho sqlservice trên Share Folder là rất quan trọng. Để an toàn hơn, bạn cho thể dùng share ẩn và chỉ cấp quyền đúng cho sqlservice.