×

Loading...
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务

SQL Server shrinkfile 不工作?

请问数据库专家一个sql server问题:

有一个100G 的备份数据库,只有我一个人用。transactions log 100M. 我想删掉一个80M 纪录的表里的40M纪录,先删了10M,发现transanctions log 变成20G.

做了 transactions log backup, 然后从gui开始shrink database,选择log 文件,显示目前大小20G,正在用的100M。但是一运行shink log立刻返回成功,log大小一点没变。

试了很久,最后发现只有用 backup log dbname with truncate_only, 然后 dbcc shrinkfile就成功了。

我不明白为什么inactive log 已经被移出log了(20G里只有100M在用),dbcc shrinkfile就是不行呢?

with truncate_only好像比较危险,微软不建议的,以后版本都要取消了。
Report

Replies, comments and Discussions:

  • 工作学习 / 专业技术讨论 / SQL Server shrinkfile 不工作?
    请问数据库专家一个sql server问题:

    有一个100G 的备份数据库,只有我一个人用。transactions log 100M. 我想删掉一个80M 纪录的表里的40M纪录,先删了10M,发现transanctions log 变成20G.

    做了 transactions log backup, 然后从gui开始shrink database,选择log 文件,显示目前大小20G,正在用的100M。但是一运行shink log立刻返回成功,log大小一点没变。

    试了很久,最后发现只有用 backup log dbname with truncate_only, 然后 dbcc shrinkfile就成功了。

    我不明白为什么inactive log 已经被移出log了(20G里只有100M在用),dbcc shrinkfile就是不行呢?

    with truncate_only好像比较危险,微软不建议的,以后版本都要取消了。
    • DBCC OPENTRAN (dbname) 显示没有active transactions.