在Ubuntu上,SQL Server的備份策略主要包括以下幾種:
完整備份(Full Backup):備份數據庫中的所有數據,包括所有數據頁和日志頁。這是最基本的備份類型,耗時較長,但恢復時只需要最近的一次完整備份和一個事務日志備份即可。
差異備份(Differential Backup):只備份自上次完整備份以來發生變化的數據。它的備份速度比完整備份快,因為在兩次完整備份之間,通常只有一小部分數據會發生變化。在恢復時,需要最近的一次完整備份和最新的差異備份。
日志備份(Transaction Log Backup):用于備份自上次備份(無論是完整備份還是差異備份)以來的事務日志。這種備份對于保持點(checkpoint)之后的事務非常關鍵,可以提供到特定時間點的恢復能力。日志備份通常用于實施經常性的備份策略,以減少數據丟失的風險。
自動備份:可以使用Linux的Crontab命令完成自動備份任務。例如,可以設置每天凌晨執行差異備份和日志備份,每周一、三、六執行完整備份。
異地備份:使用工具如rclone將備份數據推送到數據中心服務器,便于統一管理和遠程訪問。
使用SQL Server代理:為了進行日常數據備份等任務,需要開啟SQL Server代理??梢酝ㄟ^命令sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true來啟用代理,并重啟服務使其生效。
備份目錄的設置:可以使用filelocation.defaultdatadir和filelocation.defaultlogdir設置來更改創建新數據庫和日志文件的位置。默認路徑為/var/opt/mssql/data。
請注意,具體的備份策略和配置可能會根據實際的業務需求、數據量、系統資源以及可接受的數據丟失范圍進行調整。建議定期評估備份策略的有效性,并根據需要進行調整。