SQL Server 数据库管理、监控与修复全解析
1. 数据库分离与附加
当数据库在没有活跃事务时通过分离操作干净地关闭,并且存在多个事务日志文件时,SQL Server 提供了CREATE DATABASE选项FOR ATTACH_REBUILD_LOG。需要注意的是,只能分离处于ONLINE且健康状态的数据库。处于SUSPECT状态(由于某种原因恢复失败)的数据库不能被分离。若将处于SUSPECT状态的数据库脱机然后删除,其文件仍会保留,此时尝试附加该数据库将会失败。在这种情况下,可以使用“Paul Randal 附加方法”,相关技术可参考 这里 。
另外,还有一个隐藏的附加选项ATTACH_FORCE_REBUILD_LOG,它未被文档记录且不受支持,但仍然可用。在事务日志文件丢失或损坏的紧急情况下,可以使用该选项来附加数据库。
2. ALTER DATABASE 的使用场景
ALTER DATABASE有多种用途,以下是一些有用的SET选项:
-EMERGENCY:当数据库无