很多时候恢复出来的SQL数据库只有MDF文件且不能附加,这时就需要重新生成日志文件。
ALTER DATABASE TestDataBase SET EMERGENCY //数据库标记为 READ_ONLY,已禁用日志记录,并且仅限 sysadmin 固定服务器角色的成员进行访问。EMERGENCY 主要用于故障排除。例如,可以将由于损坏了日志文件而标记为可疑的数据库设置为 EMERGENCY 状态。这样,系统管理员便可对数据库进行只读访问。只有 sysadmin 固定服务器角色的成员才可以将数据库设置为 EMERGENCY 状态。 ALTER DATABASE TestDataBase SET SINGLE_USER //将目标数据库置为单用户状态 ALTER DATABASE TestDataBase REBUILD LOG ON (NAME=data_log, FILENAME='D:\MSSQL\DATA\TestDataBase.ldf') //重新生成日志文件 DBCC CHECKDB('TestDataBase', REPAIR_ALLOW_DATA_LOSS) //检查数据库 ALTER DATABASE TestDataBase SET MULTI_USER //将数据库设置为多用户 ALTER DATABASE TestDataBase SET ONLINE //数据库联机