zoukankan      html  css  js  c++  java
  • sql-server的添加数据库文件(日志数据)以及收缩数据库文件(日志数据)

    环境:

        SSMS

        sql-server2016

    一、为数据库添加数据文件

    image

    image

    添加日志数据文件

    image

    以下是添加数据文件和日志文件的代码

    ALTER DATABASE [joinbest] ADD FILE ( NAME = N'joinbest_2', FILENAME = N'C:Program FilesMicrosoft SQL ServerMSSQL13.MSSQLSERVERMSSQLDATAjoinbest_2.ndf' , SIZE = 8192KB , FILEGROWTH = 65536KB ) TO FILEGROUP [PRIMARY]

    ALTER DATABASE [joinbest] ADD FILE ( NAME = N'joinbest_2_log', FILENAME = N'C:Program FilesMicrosoft SQL ServerMSSQL13.MSSQLSERVERMSSQLDATAjoinbest_2_log.ndf' , SIZE = 8192KB , FILEGROWTH = 65536KB ) TO FILEGROUP [PRIMARY]

    二、测试文件自动增长功能,往joinbestgo数据库添加海量数据

    use benet
    create table t(id int,name nvarchar(max),pwd nvarchar(max))

    为t表添加100000行数据,观察cpu、内存和文件大小的变化
    declare @i int=1;
    while(@i<=100000)
    begin
         insert into t values(@i,replicate(rand()*100000,1000)
                                ,replicate(rand()*100000,1000));
         set @i=@i+1;
    end

    如果一切操作无误的话,相信你已经看到结果了,数据文件原始文件是8M,自动增长,每次增长64M,没有上限;但是日志文件是必须要设置上限的,原因是,不管数据库做什么样的更改操作,都会记录到日志文件里面,更是要定期的进行清理呢

    三、删除数据库中数据,查看测试结果

    删除t表中的数据,观察cpu、内存和文件大小的变化

    delete from t

    我们在观察一下数据文件,以及日志文件的大小,日志文件更大了,而且数据文件大小也没有降下来,这是因为虽然你删除了数据,但是文件在你的文件系统磁盘上还是占着那么大地方,只不过里面没有东西而已

    收缩数据库,从而节省磁盘资源

    DBCC SHRINKDATABASE(N'joinbest')

    //执行该命令是收缩整个数据库的容量,

    DBCC SHRINKFILE (N'joinbest' , 5)

    //该命令是收缩单个数据文件的

    ALTER DATABASE [joinbest] SET AUTO_SHRINK ON WITH NO_WAIT

    //该命令是设置自动收缩数据库

    本文完。。。

  • 相关阅读:
    Building Java Projects with Gradle
    Vert.x简介
    Spring及Spring Boot 国内快速开发框架
    dip vs di vs ioc
    Tools (StExBar vs Cmder)which can switch to command line window on context menu in windows OS
    SSO的定义、原理、组件及应用
    ModSecurity is an open source, cross-platform web application firewall (WAF) module.
    TDD中测试替身学习总结
    Spring事务银行转账示例
    台式机(华硕主板)前面板音频接口(耳机和麦克风)均无声的解决办法
  • 原文地址:https://www.cnblogs.com/jojoword/p/10534534.html
Copyright © 2011-2022 走看看