数据库收缩:NOTRUNCATE与TRUNCATEONLY】的更多相关文章

在进行数据库收缩时,我们有2个可用选项:NOTRUNCATE,TRUNCATEONLY.这篇文章我们会详细讨论下这2个选项的具体区别. NOTRUNCATE 当你对数据库收缩命令提供NOTRUNCATE选项时,意味着SQL Server将你数据库末尾的页移到前面,那里可以找到一些空闲的未分配空间(将释放的空间继续保留在文件中).唯一的区别是数据文件本身不会收缩. 这就是说在数据库末尾的未使用空间还是没有重声明回给文件系统.用NOTRUNCATE选项进行数据收缩后,最后在你数据文件的末尾会有一些空…
DBCC SHRINKFILE 收缩相关数据库的指定数据文件或日志文件大小. 语法 DBCC SHRINKFILE    ( { file_name | file_id }        { [ ,target_size ]            | [ , { EMPTYFILE | NOTRUNCATE | TRUNCATEONLY } ]         }    ) 参数 file_name 是已收缩文件的逻辑名称.文件名必须符合标识符的规则.有关更多信息,请参见使用标识符. file_…
数据库在收缩的时候..使用菜单 >> 任务 >> 收缩 >> 文件 >> 数据,  特别慢..还会报错失败.. 但使用脚本 USE [dbName] GO DBCC SHRINKFILE (N'数据库的MDF文件' , 指定大小) GO 却特别快..…
回收步骤: 1.查看日志文件大小[一般回收比较大的] --适用于RDS For SQL Server2012\2016 SELECT DB_NAME(database_id) AS [Database Name],[Name] AS [Logical Name],[Physical_Name] AS [Physical Name],((size * 8) / 1024) AS [Size(MB)] FROM sys.master_files ORDER BY [Size(MB)] DESC --…
一般是因为表中有大量没用的数据,把没用的数据全部删除 菜单栏的“工具”——“数据库实用工具”——“压缩和修复数据库” OK啦…
一个小故事 某天,小王正在和HR妹妹闲聊,正HAPPY时,,突然收到系统告警消息,数据库磁盘被剩余空间500M,OMG,不行,磁盘快满了,要是业务要停了,,那就小王只能删库到跑路了,,, 先检查下,有没有可以删除的不用的文件,结果都是重要的或者拿不准的.先收缩下数据库吧,点击运行.等收缩完成就可以继续去根HR妹妹聊天了.突然电话座机和手机齐鸣,小王心里一种不祥的预感呢?好像这个场景在哪里见过..不会是数据库阻塞了吧?? 手忙脚乱的先接起手机,因为来电显示是某业务部门主管 “小王啊,,现在系统卡死…
 执行环境:windows server2003,sql server2008 R2,数据库上布置CDC   用户反应系统报错是日志已满,系统不能执行. 查看日志文件时.发现日志文件已经达到15G,后来为了解决这个问题,干脆把数据库移到还有一个F盘,D盘专门放日志文件.空间有80G. 当时想这80G至少保证系统执行一周吧.谁知道系统刚执行两天.日志文件已爆涨到80G,D盘空间仅剩余10MB.数据库做不论什么动作都不能够. 重新为了应急把日志文件直接删除(先停掉服务,删除日所文件,再通过DBC…
/* from: http://www.cnblogs.com/blackcore/archive/2010/12/27/1917911.html */ 数据库中的每个文件都可以通过删除未使用的页的方法来减小.尽管数据库引擎会有效地重新使用空间,但某个文件多次出现无需原来大小的情况后,收缩文件就变得很有必要了.数据和事务日志文件都可以减小(收缩).可以成组或单独地手动收缩数据库文件,也可以设置数据库,使其按照指定的间隔自动收缩. 文件始终从末尾开始收缩.例如,如果有个 5 GB 的文件,并且在d…
当你在SqlServer创建数据库的时候可以指定数据库文件的初始大小,比如下图中我们将新创建的数据库MyDB的大小设置成了1024MB 那么你建好的数据库的确也就会占用1024MB左右的磁盘空间 不过使用存储过程sp_spaceused可以看到其中有1021.85 MB的空间是MyDB占用着并未使用. 于是我们在想是不是可以用DBCC ShrinkDatabase或DBCC ShrinkFile语句收缩未使用的数据库空间 ) 但是执行Shrink语句后我们发现数据库大小没有丝毫变化... 并且在…
在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数据库脱机.联机操作 数据库收缩操作 数据库备份.还原操作 数据库权限设置 基本语法 创建数据库 创建表 增 删 改 查 添加约束 数据类型 基本知识 数据库到底是有什么作用?看下图应该就明白了. 就是应用程序发送请求操作时,到服务器数据库中查询数据,然后再返回给应用程序. 数据库起到的作用是存储数据…
在软件测试中,数据库是必备知识,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数据库脱机.联机操作 数据库收缩操作 数据库备份.还原操作 数据库权限设置 基本语法 创建数据库 创建表 增 删 改 查 添加约束 数据类型 基本知识 数据库到底是有什么作用?看下图应该就明白了. 就是应用程序发送请求操作时,到服务器数据库中查询数据,然后再返回给应用程序. 数据库起到的作用是存储数据.检索数据.生成新的数据,相对应的…
缩数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件    --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了    --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 也可以用SQL语句来完成  --收缩数据库 DBCC SHRINKDATABASE(客户资料)  --收缩指定数据文件,1是文件号,可…
请按步骤进行,未进行前面的步骤时,请不要做后面的步骤,以免损坏你的数据库. 一般不建议做第4,6两步,第4步不安全,有可能损坏数据库或丢失数据.第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复. 1.清空日志 DUMP  TRANSACTION  库名  WITH NO_LOG 2.截断事务日志 BACKUP LOG 数据库名 WITH NO_LOG 3.收缩数据库文件(如果不压缩,数据库的文件不会减小) 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩…
        数据库文件有两大类:数据文件跟日志文件,每一个数据库至少各有一个数据文件或者日志文件,数据文件用来存储数据,日志文件用来存储数据库的事务修改情况,可用于恢复数据库使用.     这里分为两篇博文讲解,本文来说说数据文件.         如果转载,请注明博文来源: www.cnblogs.com/xinysu/   ,版权归 博客园 苏家小萝卜 所有.望各位支持!       本系列上一篇博文链接:SQL SERVER大话存储结构(5)_SQL SERVER 事务日志解析   1…
SQL Server中的事务日志无疑是SQL Server中最重要的部分之一.因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback).从而还部分确保了事务的ACID属性.在SQL Server崩溃时,DBA还可以通过事务日志将数据恢复到指定的时间点.当SQL Server运转良好时,多了解一些事务日志的原理和概念显得并不是那么重要.但是,一旦SQL SERVER发生崩溃时,了解事务日志的原理和概念对于快速做出正确的决策来恢复数据显得尤为重要.本系列…
原文:SQL SERVER数据库删除LOG文件和清空日志的方案 数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作.可以通过直接删除log文件和清空日志在清除数据库日志. 一.删除LOG 1.分离数据库.分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离. 勾选删除连接 分离后在数据库列表将看不到已分离的数据库. 2.删除LOG文件 3.附加数据库,附加的时候…
SQL Server日志文件过大    大日志文件清理方法 ,网上提供了很多分离数据库——〉删除日志文件-〉附加数据库 的方法,此方法风险太大,过程也比较久,有时候也会出现分离不成功的现象.下面的方式是不需要做数据库分离和附加操作的. SQL 2008收缩清空日志方法: 1.在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完整模式,一定必务要再改回完整模式,不然数据库就不支持时间点备份了.1).选择数据库–属性—选项—恢复模式–选择简单.2).收缩数据库后,再调回完整.2…
https://blog.csdn.net/slimboy123/article/details/54575592 还未测试 USE[master] GO ALTER DATABASE 要清理的数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE 要清理的数据库名称 SET RECOVERY SIMPLE --简单模式 GO USE 要清理的数据库名称 GO , TRUNCATEONLY) --设置压缩后的日志大小为2M,可以自行指定…
sqlserver收缩日志的几种方式   [sql] --参考    压缩日志及数据库文件大小      /*--特别注意       请按步骤进行,未进行前面的步骤,请不要做后面的步骤    否则可能损坏你的数据库.       一般不建议做第4,6两步    第4步不安全,有可能损坏数据库或丢失数据    第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.    --*/           --下面的所有库名都指你要处理的数据库的库名       1.清空日志   …
本文转自:https://www.cnblogs.com/ShaYeBlog/archive/2012/09/04/2670505.html 数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作.可以通过直接删除log文件和清空日志在清除数据库日志. 一.删除LOG 1.分离数据库.分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离. 勾选删除连接 分离后在数据…
1. 数据库的相关属性 在MS中创建数据库时会为数据库分配初始的大小(如下图:数据库和日志两个文件),随着数据库的使用文件会逐渐增大.数据库文件大小的增加有两种方式: 自动增长:在自动增长中可以设置每次的增长量,以及最大增长的文件大小. 手动增长:取消“启用自动增长”则为手动增长,这就需要DBA经常观测数据库的运行情况,及时更改数据库的小.手动增长比较麻烦,一般都设为自动增长. 2. 为何数据库需要收缩? 要明白为何数据库需要收缩,首先需要理解两个概念: 为数据库分配的空间:如上图初始时为“数据…
问题描述: 数据库的事务日志已满,起因为"LOG_BACKUP". 问题截图: 解决方法: 1).选择数据库–属性—选项—恢复模式–选择简单.2).收缩数据库后,再调回完整. USE[master] GO ALTER DATABASE 要清理的数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE 要清理的数据库名称 SET RECOVERY SIMPLE --简单模式 GO USE 要清理的数据库名称 GO , TRUNCAT…
问题: 1.同一段代码,在存储过程中运行比普通SQL执行速度慢几十倍 原理: 在SQL Server中有一个叫做 “Parameter sniffing”参数嗅探的特性.SQL Server在存储过程执行之前都会制定一个执行计划,导致速度较慢. 解决方式: 我在实际中只使用了方法1,即可解决问题 1.在存储过程中创建一个变量替换掉参数 CREATE PROC sp_yp_jxctj ) AS BEGIN --用变量替换掉参数,以防出现“Parameter sniffing”问题 ) = @var…
SQL Server数据库性能优化之SQL语句篇http://www.blogjava.net/allen-zhe/archive/2010/07/23/326927.html 近期项目需要, 做了一段时间的SQL Server性能优化,遇到了一些问题,也积累了一些经验,现总结一下,与君共享.SQL Server性能优化涉及到许多方面,如良好的系统和数据库设计,优质的SQL编写,合适的数据表索引设计,甚至各种硬件因素:网络性能.服务器的性能. 操作系统的性能,甚至网卡.交换机等.这篇文章主要讲到…
1. 数据库的相关属性 在MS中创建数据库时会为数据库分配初始的大小(如下图:数据库和日志两个文件),随着数据库的使用文件会逐渐增大.数据库文件大小的增加有两种方式: 自动增长:在自动增长中可以设置每次的增长量,以及最大增长的文件大小. 手动增长:取消“启用自动增长”则为手动增长,这就需要DBA经常观测数据库的运行情况,及时更改数据库的小.手动增长比较麻烦,一般都设为自动增长. 2. 为何数据库需要收缩? 要明白为何数据库需要收缩,首先需要理解两个概念: 为数据库分配的空间:如上图初始时为“数据…
从事件探查器中监控到如下语句执行时间查过 1分钟: EXEC dbo .sp_MSdistribution_cleanup @min_distretention = 0, @max_distretention = 72 该存储过程被“ 分发清除:分发 ”作业每10 分钟调用一次,用户 从分发数据库中删除复制的事务. 停用在最大分发保持期内尚未同步的订阅. 该存储过程主要是删除 MSrepl_commands和MSrepl_transactions 两个表过期数据 查询数据库以及这两个表的数据 可…
SQL Server允许用户设置数据库初始值和最大值,可以通过自动增长或者自动收缩进行配置.通过这些配置,我们可以防止数据库空间问题而导致的应用程序修改失败或者SQL Server磁盘空间耗尽的事情发生.一般来讲,如果数据库不是很忙,默认的设置为自动增长,这种方式能够满足大部分的需求.但是在大量并发的情况下,申请数据文件和日志文件增长本身是一件非常消耗系统资源和影响性能的工作.所以如果完全依赖SQL Server自动完成,可能会导致系统性能不够稳定.一个管理得比较精细的系统,应该预先考虑到可能的…
最近工作上基本没什么需求(好吧 不是最近是好久了,所以随便看看基础的东西来填补自己的空白) 原文出自:http://www.blogjava.net/allen-zhe/archive/2010/07/23/326927.html   转载请保留 数据库优化主要可以从以下几个方面入手 (1)架构级别,表结构设计:如良好的系统和数据库设计 (2)代码语句级别:优质的SQL编写 (3)索引设计:合适的数据表索引设计 (4)硬件因素:网络性能.服务器的性能.操作系统的性能,甚至网卡.交换机等 这里主要…
有时候在数据库上运行一个数据量很大的查询语句,会导致TempDB数据量剧增,具体查看下面链接文章: SqlServer 一个查询语句导致tempdb增大55G 找到TempDB剧增的问题后,接下来的问题是如何收缩TempDB.下面这篇文章详细阐述了如何收缩TempDB: 最简单的办法:重启SQL Server服务如果SQL Server 是安装在默认路径,那么 tempdb.mdf 和 templog.ldf 文件在以下路径:“C:\Program Files\Microsoft SQL Ser…
(火炬)MS SQL Server数据库案例教程 创建数据库: CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引用的文件名 数据库必须唯一 FILENAME='D:\mydb\TDB_dat.mdf',//操作系统在创建文件时使用的路径和文件名 SIZE=10,//指定数据文件或日志文件的初始大小(默认单位为MB) MAXSIZE=50,// 指定数据文件或日志文件的最大大小,如果没有指定大小那么文件将磁盘曾…