Cách tạo file bak trong SQL
Sao lưu đầy đủ một database - full backupThực hiện sao lưu đầy đủ (dữ liệu, log) của một Database vào một file backup để có thể phục hồi lại chỉ cần sử dụng một file này. Giả sử database cần sao lưu (backup) có tên shopdata, thì thực hiện lệnh T-SQL sau: Show Bạn có thể thay đổi shopdata sang tên database của bạn, đường dẫn lưu trữ chỉ rõ, như trên là /var/opt/mssql/backup/shopdata.bak là đường dẫn trên linux - máy đang chạy SQL Server, bạn có thể thay bằng đường dẫn theo máy chạy SQL Server của bạn. Trước khi backup bạn có thể tối ưu dung lượng các file của CSDL, thực hiện theo: thu gọn data và log của database trong SQL Server Sau khi có file sao lưu (.bak) bạn cũng có thể nén lại để giảm dung lượng truyền tải. Như trong Linux có thể dùng tag, gzip - xem tại Lệnh nén, giải nén Linux Phục hồi database từ full backupTạo Database mới từ file backupTrường hợp tạo mới Database từ bản fullbackup, ví dụ đang không có shopdata, phục hồi lại nó từ shopdata.bak, thì thực hiện RESTORE DATABASE shopdata FROM DISK = '/var/opt/mssql/backup/shopdata.bak'Lệnh trên tạo DB mới có tên shopdata từ shopdata.bak, bạn có thể đổi shopdata thành tên mới bất kỳ. Phục hồi dữ liệu, ghi đè dữ liệuNếu shopdata đang có, bạn cần ghi đè từ một file backup thì thực thiện RESTORE DATABASE shopdata FROM DISK = '/var/opt/mssql/backup/shopdata.bak' WITH REPLACENhớ rằng cấu trúc file data, log trong CSDL đang có và trong file .bak giống nhau. Có nghĩa là file .bak là bản lưu trước đây của chính CSDL đang tồn tại. Để kiểm tra database shopdata đang tồn tại có tên file data, log thế nào, lưu ở đâu có thể dùng đoạn T-SQL (xem thêm kiểm tra file data, log) Còn kiểm tra trong file .bak có file data, log như thế nào thì dùng lệnh: RESTORE FILELISTONLY FROM DISK = '/var/opt/mssql/backup/shopdata.bak' Kết quả kiểm tra file data, log trong một file .bakNếu đang có cơ sở dữ liệu shopdata với file data, file log như trên thì dùng shopdata.bak để tạo một CSDL khác, ví dụ shopdata1 thì sẽ lỗi, vì dường dẫn file data, file log đã dùng cho shopdata. Trường hợp này bạn có thể chỉ rõ đường dẫn file data, file log khi phục hồi, ví dụ: RESTORE DATABASE shopdata1 FROM DISK = '/var/opt/mssql/backup/xtlab.bak' WITH REPLACE, MOVE 'shopdata' TO '/var/opt/mssql/data/shopdata01.mdf', MOVE 'shopdata_log' TO '/var/opt/mssql/data/shopdata01_log.mdf'Nếu muốn đổi tên logic trong database (Logical Name) thì thực hiện ALTER DATABASE [shopdata] MODIFY FILE (NAME=N'shopdata', NEWNAME=N'data'); ALTER DATABASE [shopdata] MODIFY FILE (NAME=N'shopdata_log', NEWNAME=N'log');
Mục lục bài viết
Sao lưu databasePhục hồi database
ĐĂNG KÝ KÊNH, XEM CÁC VIDEO TRÊN XUANTHULAB
|