• 设置自动收缩数据库


    --注意事项:
    SQL Server 不会持续测试达到为自动收缩配置的阈值的数据库。
    相反,它会寻找可用的数据库并找出第一个配置为自动收缩的数据库。
    它将检查该数据库,并在需要时收缩该数据库。然后,它会等待几分钟,
    再检查下一个配置为自动收缩的数据库。
    换句话说,SQL Server 不会同时检查所有数据库,也不会同时收缩所有数据库。
    它将以循环方式处理各个数据库,以使负载在时间上错开。
    也就是说收缩的时间不可控, 所以产品环境一般不会设置,对于开发,测试环境的可以设置.

    对于系统数据库分发数据库不能设置(master, model, msdb, tempdb和 sys.databases.is_distributor = 1 的)

    下面为代码实现:

    DECLARE @Sql VARCHAR(MAX)
    SET     @Sql=''
    select  @Sql=@Sql+' EXEC   sp_dboption   '+name+',   ''autoshrink'',   ''TRUE''   '+CHAR(10)+CHAR(13) from sys.databases
    
    PRINT   (@Sql)--如需要执行 将PRINT 改写为EXEC
    --第一次写有点失败,老大说存储过程过时了,让改DB下面的方法为老大的提示所做:
    
    DECLARE @Sql VARCHAR(MAX) 
    SET @Sql='' 
    select @Sql=@Sql+' alter database '+'['+ name + ']'+' set auto_shrink on'+CHAR(10)+CHAR(13) from sys.databases 
    where is_distributor <> 1 and is_auto_shrink_on = 0 and database_id not in (1,2,3,4) 
    
    PRINT (@Sql)
    
    --is_auto_shrink_on这个选项是对数据库是否为自动收缩,对于已经设置了的则不用再做修改.
  • 相关阅读:
    Sublime Text3 包管理器、插件安装
    Sublime text3 安装
    VS中的波浪线
    VS的启动方式
    VS常用快捷键
    C#基础性问题
    nginx前端项目发布
    vue父子组件实现数据双向绑定
    常用在线echarts图表
    使用echarts地图踩坑记
  • 原文地址:https://www.cnblogs.com/zerocc/p/2473692.html
Copyright © 2020-2023  润新知