小编Mco*_*col的帖子

在生产环境中缩小 Tempdb 的最佳实践

在 SQL Server 2008 中缩小临时数据库时使用的最佳实践是什么?

使用以下方法有风险吗?

use tempdb
GO

DBCC FREEPROCCACHE -- clean cache
DBCC DROPCLEANBUFFERS -- clean buffers
DBCC FREESYSTEMCACHE ('ALL') -- clean system cache
DBCC FREESESSIONCACHE -- clean session cache
DBCC SHRINKDATABASE(tempdb, 10); -- shrink tempdb
dbcc shrinkfile ('tempdev') -- shrink db file
dbcc shrinkfile ('templog') -- shrink log file
GO

-- report the new file sizes
SELECT name, size
FROM sys.master_files
WHERE database_id = DB_ID(N'tempdb');
GO
Run Code Online (Sandbox Code Playgroud)

sql-server shrink tempdb

28
推荐指数
1
解决办法
16万
查看次数

Ola 的维护解决方案不处理 sysjob* 表

我使用了Ola Hallengren 的脚本来备份和维护数据库。

但是,它不会对 中的某些表执行任何重新索引或重组操作msdb,例如sysjobhistory,即使它们的碎片超过定义的阈值。这是我正在使用的脚本:

EXECUTE dbo.IndexOptimize
  @Databases = 'SYSTEM_DATABASES',
  @FragmentationLow = NULL,
  @FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
  @FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
  @FragmentationLevel1 = 5,
  @FragmentationLevel2 = 30,
  @UpdateStatistics = 'ALL',
  @OnlyModifiedStatistics = 'Y'
Run Code Online (Sandbox Code Playgroud)

sql-server maintenance system-tables ola-hallengren index-maintenance

2
推荐指数
1
解决办法
145
查看次数