如果用 DBCC SHRINKFILE 语句会有问题吗
解决方案 »
- 问几个关于MS SQL语句的优化问题
- 语法分析都正确。调试或执行的时候却提示什么名称怪问题~~~郁闷~~~
- 急!!!怎么判断数据库的状态(单用户模式,脱机,置疑...)?
- 一道SQLServer面试题?
- 做SQL2008 Mirror时unrestored log每天会有10多GB无法完成。
- SQL安装问题
- 如何将字符串联接起来?
- 这个问题怎么处理
- 怎么删除数据库里的有两条一样的记录的其中一条,保留一条?
- develop2000里面可以使用定时器(timer)或者消息吗?
- 怎样才能查询某条记录添加的时间 #####################100%结贴
- SQL 2000复制和同步异常,复制数据重复,同步找不到存储过程
原理:
#1.分离数据库,如果能正常执行完毕,应该已经没有未完成的事务
#2.相当于舍去日志文件,只保留数据文件
#3.重新附加时,由于没有日志文件,系统会自动重建日志文件(1M)
缺点:
#1.此操作属离线操作
#2.假如此数据库用于复制,镜像或日志传送,事务会丢失
#3.不排除附加时出错的可能性
建议:
#1.如果系统不要求日志备份的话,把数据库设置成SIMPLE模式,日志文件会重用
#2.如果系统要求日志备份的话,把数据库设置成FULL模式,定时作日志备份
#3.如果遇见日志文件收缩不了的状况,分析下原因,可能是未提交事务,镜像未完成,复制未完成,日志未备份等原因导致。
具体查看sys.database表中的log_reuse_wait_desc字段
把数据库的恢复模式改为simple,然后再收缩日志文件