很多时候恢复出来的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=dbname_log, FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\TestDataBase.ldf')
//重新生成日志文件
DBCC CHECKDB('TestDataBase', REPAIR_ALLOW_DATA_LOSS)
//检查数据库
ALTER DATABASE TestDataBase SET MULTI_USER
//将数据库设置为多用户
ALTER DATABASE TestDataBase SET ONLINE
//数据库联机
关于ALTER DATABASE更多参数的使用可以查阅MSDN https://msdn.microsoft.com/zh-cn/library/bb522682%28v=sql.105%29.aspx
喜欢 (11)or分享 (0)