我是 sql server 的新手。其中一个实例遇到了事务日志已满的场景,数据库需要进行备份才能解决问题。
我想再次复制该场景以显示事务日志可能会变满,并建议我的客户增加事务日志空间和增长因子。(数据库正在使用完全恢复模式)
然而,该场景无法复制任何要求执行的查询(40000次删除然后40000次插入,重复),我发现事务日志占用空间只是通过查询而颤抖
DBCC SQLPERF(LOGSPACE)
Run Code Online (Sandbox Code Playgroud)
我希望事务日志在执行批量插入和删除时会不断增长(查询之间没有备份或检查点)。但事实是日志空间并没有真正按预期运行。
我想知道
当数据库抛出异常事务日志已满时 - 是否由于硬盘存储空间不足?还是因为日志大小超过了配置的大小?
为什么批量插入和删除操作没有减少日志空间,但它的大小却在颤抖(上下而不是连续增加)?
我想知道在重新启动 SQL Server 时将执行哪些操作?
场景是,事务日志几乎满了,我的一个客户觉得系统很慢(实际上查询是不可执行的,他跟踪服务器CPU和内存使用率很高),因此他选择重新启动整个服务器。
随后,他说手术再次顺利进行。
我想知道,事务日志特有的sql server重启操作中做了哪些操作
例如,重新启动是否会强制 SQL 服务器执行检查点?甚至是备份?以便重新启动可以以某种方式释放占用的空间?