我目前有跨 2 个 MS SQL Server(都运行 2008 r2)的复制设置。
在订阅者上,我的 tempdb 快速填充到一个荒谬的速度,大约一个小时内 28gb。我知道需要使用 tempdb 来存储正在进行的事务,但之后肯定会缩小吗?
我还有一个用于复制的 35Gb 日志文件,我似乎也无法缩小。
有没有人有任何想法?
谢谢
我目前有跨 2 个 MS SQL Server(都运行 2008 r2)的复制设置。
在订阅者上,我的 tempdb 快速填充到一个荒谬的速度,大约一个小时内 28gb。我知道需要使用 tempdb 来存储正在进行的事务,但之后肯定会缩小吗?
我还有一个用于复制的 35Gb 日志文件,我似乎也无法缩小。
有没有人有任何想法?
谢谢
这可能会有所帮助,右键单击TempDb
数据库并Properties
在Options
选项卡中选择检查RecoveryModel
并将其更改Simple
为其他内容。如果你改变它,那么Shrink
你的 db.
当您重新启动 SQL Server 时,TempDb 将恢复到原来的大小,但是有一些方法可以在不重新启动的情况下缩小它。
CHECKPOINT;
GO
DBCC FREEPROCCACHE
GO
DBCC DROPCLEANBUFFERS
go
DBCC FREESYSTEMCACHE ('ALL')
GO
DBCC FREESESSIONCACHE
GO
DBCC SHRINKFILE (TEMPDEV,1024) --- New file size in MB
GO
所以你可以定义一个计划的工作来定期收缩它