--DBCC SHRINKDATABASE

--收缩数据库

--USAGE:

dbcc SHRINKDATABASE

(

{ 'database_name' | database_id | 0 }

[ , target_percent ]

[ , { NOTRUNCATE | TRUNCATEONLY } ]

)

[ WITH NO_INFOMSGS ]

--DBCC SHRINKFILE

--收缩指定数据库中特定文件

dbcc SHRINKFILE

(

{ 'file_name' | file_id }

{

[ , EMPTYFILE]

| [ [, target_size ] [ , { NOTRUNCATE | TRUNCATEONLY } ] ]

}

)

[ WITH NO_INFOMSGS ]

--NOTRUNCATE

--在指定或不指定target_percent 的情况下,将已分配的页从数据文件的末尾移动到该文件前面的未分配页。文件末尾的可用空间不会返回给操作系统,文件的物理大小也不会更改。因此,指定NOTRUNCATE 时,文件看起来未收缩。

--NOTRUNCATE 只适用于数据文件。日志文件不受影响。

--TRUNCATEONLY

--将文件末尾的所有可用空间释放给操作系统,但不在文件内部执行任何页移动。数据文件只收缩到最后分配的区。

--如果随TRUNCATEONLY 指定了target_size,则会忽略该参数。

--TRUNCATEONLY 只适用于数据文件

--1. SHRINKFILE 并不独占数据文件,且可以随时终止,停止之前收缩的工作将被保留。

--2. SHRINKFILE 针对区做收缩,将使用的区前移,将不使用的区删除,但不会合并区,也不合并和删除区中的页,因此当区中空页过多或者页面填充度较低时,SHRINKFILE并不能释放过多的空间。

--3. 如果碎片过多,可以先重建索引后再做SHRINKFILE

--在SHRINKFILE后,需检查文件的真实大小,可能文件已被收缩,但SHRINKFILE结果显示没有收缩

--由于sp_spaceused这个存储过程依赖于SQLSERVER存储在一些系统视图里的空间使用统计信息来算出结果,但是SQLSERVER并不保证实时更新空间使用统计信息。尤其是数据库刚刚发生大的变化之后,sp_spaceused的结果常常不准确

--参考:

--http://www.cnblogs.com/lyhabc/articles/3219563.html

--http://msdn.microsoft.com/zh-cn/library/ms189493.aspx

DBCC--SHRINKDATABASE的更多相关文章

  1. DBCC SHRINKDATABASE xxxx was skipped because the file does not have enough free

    假设你创建一个数据库时,指定其初始化大小(SIZE )非常大.例如,如下测试案例所示 USE [master] GO   CREATE DATABASE [TEST] ON  PRIMARY  ( N ...

  2. DBCC常用命令小汇

    DBCC是SQL Server提供的一组控制台命令,功能很强大,掌握一些必要的语句,对操作数据库有不少帮助,所以决定整理一下,发现已有不少类似的整理,减少了不少工作,归类如下: 一.DBCC 帮助类命 ...

  3. SQLServer 维护脚本分享(11)部分DBCC及系统存储过程

    --DBCC命令与用法 DBCC HELP('?') DBCC HELP('useroptions') DBCC USEROPTIONS WITH NO_INFOMSGS --当前DB的区及文件 DB ...

  4. DBCC用法汇总

    本文摘自http://www.cnblogs.com/lilycnblogs/archive/2011/03/31/2001372.html 留作查阅 DBCC是SQL Server提供的一组控制台命 ...

  5. [转]DBCC (Transact-SQL)

    http://msdn.microsoft.com/zh-cn/library/ms188796.aspx Transact-SQL 编程语言提供 DBCC 语句以作为 SQL Server 的数据库 ...

  6. DBCC命令

    DBCC SQLMGRSTATS 用于产生3个不同的值,这些值用在你想查看高速缓存在ad-hoc和预编译的TSQL语句中是如何工作的 Memory Used(8K Pages):若内存页的数量非常大, ...

  7. List Available DBCC Commands

    DBCC Commands or Database Consistency Checker commands have been with SQL Server from its early ages ...

  8. DBCC - Undocumented commands

    These commands may affect system performance and/or force table-level locks.There is no guarantee th ...

  9. DBCC维护语句语法

    一.DBCC维护语句:对数据库.索引或文件组进行维护的任务--1.DBCC CLEANTABLE,回收删除的可变长度列和文本列的空间 DBCC CLEANTABLE  ( { 'database_na ...

  10. 如何避免SHRINKDATABASE & SHRINKFILE 产生索引碎片(转载)

    1. TRUNCATEONLY参数的使用我们在建立的Job中通常使用如下的语法DBCC SHRINKDATABASE (N'DB', 10,TruncateOnly)其中TruncateOnly的用处 ...

随机推荐

  1. IllegalArgumentException: Could not resolve resource location pattern [classpath .xml]: class path resource cannot be resolved to URL because it does not exist

    查看编译后的classes文件后,没有mapper.xml文件,所以SQLsessionfactory不能读取成功. 在Maven中加入如下的resources配置: <dependencies ...

  2. luoguP1004 方格取数(四维DP)

    题目链接:https://www.luogu.org/problemnew/show/P1004 思路: 这道题是四维DP的模板题,与luoguP1006传纸条基本相似,用f[i][j][k][l]表 ...

  3. 第五章 二叉树(e5)重构

  4. asp.net后台解析JSON,并将值赋给对象

    示例代码如下: using System; using System.Collections.Generic; using System.Web.Script.Serialization; publi ...

  5. 修改mysql数据库 允许远程访问

    首先使用root身份进入MySQL mysql>use mysql; //进入mysql表 mysql> selecthost,user from user;  //查看结果是不是root ...

  6. Boost 库uuid 的使用

    UUID 简介 通用唯一识别码(英语:Universally Unique Identifier,简称UUID)是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分. uuid 版 ...

  7. MacOs安装mysql与修改root密码

    1.下载安装包 http://www.mysql.com/downloads/ 找到如下内容下载 mysql-5.7.21-1-macos10.13-x86_64.dmg下载地址是 https://c ...

  8. db2 批处理

    db2在Windows下执行批处理,需要使用两个.bat文件 1)把以下命令保存为first_do.bat@echo off@@ECHO ------------------------------- ...

  9. jar 包 的用处 ,dozer、poi、itext 、jxl 、jbarcode 、itextrenderer jquery 效果

    1.dozer 做类型转换的, 新建 xml 文件 描述两个实体的对应关系 ,DozerBeanMapper mapper =new DozerBeanMapper().addMappingFiles ...

  10. [开源,学习,分享]UWP第三方简书客户端分享

    简介 Windows10正式版发布到现在,我利用零零碎碎的一些时间对UWP进行一些学习,也基于这门技术开发了一个第三方的简书App. 基本界面 优酷视频: http://v.youku.com/v_s ...