我有一个SQL Server 2005数据库,我从中删除了几个大型表到存档数据库。原始数据库应该大大缩小。
要创建存档数据库,我打算恢复原始数据的副本,然后从中删除当前表。
这是最好的方法吗?我应该怎么做日志/收缩以确保最终尺寸尽可能小?存档数据库可能会增长一点,但原始数据库继续正常增长。
答案 0 :(得分:3)
这似乎是一种可行的方法。将恢复模型设置为simple,然后截断并收缩日志文件。这将使它尽可能小。
请参阅here以获得更好的方法。
注意:这假设您不希望或不需要将存档数据库恢复到特定时间点。原因是简单恢复模型不会将事务保存在事务日志中。因此,当您的存档数据库“稍微改变”时(如您所说),它不会将事务保存到日志中。
答案 1 :(得分:1)
我使用这个脚本,这在开发中非常有用。
BACKUP log [CustomerServiceSystem] with truncate_only
go
DBCC SHRINKDATABASE ([CustomerServiceSystem], 10, TRUNCATEONLY)
go
答案 2 :(得分:0)
尝试以下sql命令之一:
或者右键单击进入Sql Server Management Studio对象资源管理器的数据库,然后选择Tasks-Shrink。