zoukankan      html  css  js  c++  java
  • 设置自动收缩数据库

    --注意事项:
    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这个选项是对数据库是否为自动收缩,对于已经设置了的则不用再做修改.
  • 相关阅读:
    Linux记录-批量安装zabbix(转载)
    k8s-基础环境配置(六)
    k8s记录-ntpd时间同步配置(五)
    k8s记录-flanneld+docker网络部署(四)
    Java面试通关要点汇总集
    Java并发编程系列
    码农需要知道的“潜规则”
    领域驱动设计文章
    自动化测试的一些思考
    轻量级爬虫框架
  • 原文地址:https://www.cnblogs.com/zerocc/p/2473692.html
Copyright © 2011-2022 走看看