在Ubuntu上管理SQL Server日志可以通过以下几种方法进行:
SIMPLE
,此模式下事务日志会自动截断,仅保留最小恢复信息。CREATE DATABASE [TestDB] ON PRIMARY (NAME = TestDB_Data, FILENAME = '/var/opt/mssql/data/TestDB.mdf')
LOG ON (NAME = TestDB_Log, FILENAME = '/var/opt/mssql/data/TestDB.ldf')
ALTER DATABASE [TestDB] SET RECOVERY SIMPLE;
tail
命令实时跟踪日志文件的变化。tail -f /var/opt/mssql/data/YourDB.ldf
lnav
进行更结构化的日志文件监控。sudo apt install lnav
lnav /var/opt/mssql/data/YourDB.ldf
BACKUP LOG
命令进行日志截断。BACKUP LOG YourDB TO DISK = 'NUL';
DBCC SHRINKFILE
命令收缩日志文件。DBCC SHRINKFILE (YourDB_Log, 1);
注意:SQL Server 2012及以上版本需使用 ALTER DATABASE
命令进行日志收缩。sudo apt-get install rsyslog
sudo systemctl restart rsyslog
sudo apt-get install logrotate
sudo logrotate -f /etc/logrotate.conf
ALTER DATABASE [YourDB] SET AUTO_SHRINK ON;
FULL
恢复模式,并通过定时日志备份和收缩管理空间。以上方法可以帮助您在Ubuntu上有效地管理SQL Server日志,确保数据库的高效运行和数据的安全性。