附加数据库报错:由于数据库没有完全关闭,无法重新生成日志
2009-11-25 10:14
1101 查看
问题简述:
sharepoint的某个站点对应的数据库日志太大了,想把日志瘦身。于是我把整个数据库分离,然后附加数据库来重新生成日志文件。谁知道在附加的时候,居然报错"附加数据库报错:由于数据库没有完全关闭,无法重新生成日志"
问题原因:原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。如果事务日志文件被手动删除或者由于硬件或环境问题而丢失,则可能出现此错误。
处理办法:
一、把分离之前的日志文件也复制过来一齐附加嘛
从错误提示看, 应该是你的日志文件中还包括有用的数据, 这些数据还没有正确写回数据文件, 导致附加失败.
二、这种情况最好能找回之前的日志文件, 如果找不到, 应急的方法是新建一个数据库, 将数据库设置为 offline, 然后用附加失败的数据文件替换掉新建库的数据文件, 然后将数据库设置为应急恢复模式, 这样一般就能读数据了
ALTER DATABASE DB_name SET EMERGENCY
数据库可以读之后, 你可以尝试再将其设置为 ONLINE 模式, 如果能成功, 那再 DBCC CHECKDB 一次, 确认没有问题
如果无法ONLINE, 那么你大概就只好新建库, 然后把应急模式的库的数据导到新建的库了
特别说明:应该使用压缩(shrinking)的办法来处理。
sharepoint的某个站点对应的数据库日志太大了,想把日志瘦身。于是我把整个数据库分离,然后附加数据库来重新生成日志文件。谁知道在附加的时候,居然报错"附加数据库报错:由于数据库没有完全关闭,无法重新生成日志"
问题原因:原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。如果事务日志文件被手动删除或者由于硬件或环境问题而丢失,则可能出现此错误。
处理办法:
一、把分离之前的日志文件也复制过来一齐附加嘛
从错误提示看, 应该是你的日志文件中还包括有用的数据, 这些数据还没有正确写回数据文件, 导致附加失败.
二、这种情况最好能找回之前的日志文件, 如果找不到, 应急的方法是新建一个数据库, 将数据库设置为 offline, 然后用附加失败的数据文件替换掉新建库的数据文件, 然后将数据库设置为应急恢复模式, 这样一般就能读数据了
ALTER DATABASE DB_name SET EMERGENCY
数据库可以读之后, 你可以尝试再将其设置为 ONLINE 模式, 如果能成功, 那再 DBCC CHECKDB 一次, 确认没有问题
如果无法ONLINE, 那么你大概就只好新建库, 然后把应急模式的库的数据导到新建的库了
特别说明:应该使用压缩(shrinking)的办法来处理。
相关文章推荐
- sqlserver无ldf日志文件附加的方法(数据库没有完全关闭,无法重新生成日志)
- sql2005 数据库没有完全关闭,无法重新生成日志
- sql2005 数据库没有完全关闭,无法重新生成日志
- sql2005 数据库没有完全关闭,无法重新生成日志
- 【SQLServer】【恢复挂起的解决方案】附加文件时候的提示“无法重新生成日志,原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。 ”【数据库恢复】
- 如果你的数据库文件只剩下数据文件没有日志文件时,如何附加
- SQL Server附加数据库时失败,提示:“未重新生成日志,因为有不止一个日志文件”
- 如果你的数据库文件只剩下数据文件没有日志文件时,如何附加 (摘自:http://www.cnblogs.com/yukaizhao/archive/2008/07/23/sp_attach_single_file_db.html)
- 对于大型数据库重新组织数据和生成索引进行维护的建议
- Sql Server 附加没有日志文件的数据库(.mdf)文件方法
- “附加数据库失败,版本为661,无法打开,支持655版本...”和“无法执行脚本,没有足够的内存继续执...”
- 由于检索用户的本地应用程序数据路径时出错,导致无法生成 SQL Server 的用户实例
- PHP数据无法插入MySQL 数据库解决日志
- SQL Server附加数据库报错:无法打开物理文件,操作系统错误5
- SQL Server 2008 没有日志文件,使用MDF文件附加数据库
- 快速附加没有日志文件的 SQL Server 数据库文件!
- Sqlserver2012 根据数据库mdf文件生成log文件,解决无法附加mdf文件
- sqlserver2008附加数据库时提示“无法为该请求检索数据。 (Microsoft.SqlServer.Management.Sdk.Sfc)”
- WPF 验证没有通过无法保存数据(非常好)+ 虚似数据库
- 连接数据库Arcserver不关闭服务或是winform不关闭窗体无法显示编辑完毕的数据