【问题标题】:Maintenance jobs in SQL small databasesSQL 小型数据库中的维护作业
【发布时间】:2016-08-12 09:27:48
【问题描述】:

我的客户拥有非常小的数据库,大小为 50 到 100 MB。 我们使用的是 SQL Server 2014。

备份操作安排妥当。

我可以推荐他们从事索引维护、更新统计和 DBCC CheckDB 的维护工作吗?如果不注意这些工作,影响会有多深?

【问题讨论】:

    标签: sql-server sql-server-2012


    【解决方案1】:

    太模糊而无法准确回答,这在很大程度上取决于在数据库上完成的活动类型,使用的恢复模型。在简单恢复模式下,只使用没有事务日志的 db 文件,如果对表有频繁的删除和插入,您通常需要定期重建索引。

    我用来设置一个每日(夜跑)任务,调用 sqlcmd 来执行以下 SQL:

    --*********************************
    --*** REPLACE THIS WITH DBNAME  ***
    USE db_mytestcopy_of_live_production
    --*********************************
    
    GO
    
    
    DECLARE @Queryresult NVARCHAR(MAX)
    
    SET @Queryresult=''
    
    --*********************************
    --DEFRAGGING THE MOST 6 FRAGMENTED INDEXES EXCLUDING ONES WITH A FRAG UP TO 35 %
    --TO TAILOR IT TO YOUR NEEDS CHANGE THE NUMBERS AFTER "SELECT TOP" AND AFTER "ss.avg_fragmentation_in_percent >"
    
    --WITHIN THE SQL HERE BELOW
    --*********************************
    
    SELECT TOP 6
      @Queryresult=@Queryresult + 'ALTER INDEX ' + QUOTENAME(i.name) + ' ON '
      + QUOTENAME('dbo') + '.'
      + QUOTENAME(OBJECT_NAME(i.OBJECT_ID)) + ' REBUILD;'
     FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ss
      INNER JOIN sys.indexes i ON i.OBJECT_ID = ss.OBJECT_ID AND i.index_id = ss.index_id
      INNER JOIN sys.objects o ON ss.object_id = o.object_id
    WHERE ss.avg_fragmentation_in_percent > 35
    AND ss.record_count > 0 
    AND o.is_ms_shipped = 0 --Excludes any objects created as a part of SQL Server installation
    AND ss.index_id > 0     --Excludes heap indexes
    ORDER BY ss.avg_fragmentation_in_percent DESC
    
    --*********************************
    --Uncomment to see the generated command
    
    --*********************************
    --PRINT @QueryResult
    
    EXEC sp_executesql @QueryResult
    

    【讨论】:

      猜你喜欢
      • 2016-07-16
      • 2014-07-09
      • 2017-01-30
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多