SQL SERVER如何收缩数据库

SQL SERVER如何收缩数据库,第1张

工具/材料

SQL SERVER 2008

01

首先打开SQL SERVER的管理工具,找到要 *** 作的数据库,如下图所示,右键单击选择属性

02

然后在d出的数据库属性信息界面中来查看一下可用空间,一般都是根据可用空间的大小来判断是否需要对数据库进行收缩的,如下图所示

03

然后我们在数据库属性页中选择”选项”页面,如下图所示,这个页面包括了自动收缩的选项设置

04

在选项页面的右侧找到自动栏信息,如下图所示,将自动收缩选项设置为TRUE。一旦将自动收缩设置为TRUE,数据库就会自动监控可用空间的大小进行数据收缩。

05

另外还可以在数据库中进行手动收缩设置,如下图所示,先选择数据库选项的收缩

06

在d出的数据库收缩界面中,我们将收缩比进行设置,大家根据自己的实际需要设置即可

07

另外你也可以选择收缩数据库文件的选项,如下图所示,可以选择相应的收缩类型,我这里选择的是释放未使用空间的选项,大家根据自己情况进行选择

收缩数据库

数据库中的每个文件都可以通过删除未使用的页的方法来减小。尽管数据库引擎会有效地重新使用空间,但某个文件多次出现无需原来大小的情况后,收缩文件就变得很有必要了。数据和事务日志文件都可以减小(收缩)。可以成组或单独地手动收缩数据库文件,也可以设置数据库,使其按照指定的间隔自动收缩。

文件始终从末尾开始收缩。例如,如果有个 5 GB 的文件,并且在 DBCC SHRINKFILE 语句中将 target_size 指定为 4 GB,则数据库引擎将从文件的最后一个 1 GB 开始释放尽可能多的空间。如果文件中被释放的部分包含使用过的页,则数据库引擎先将这些页重新放置到文件的保留部分。只能将数据库收缩到没有剩余的可用空间为止。例如,如果某个 5 GB 的数据库有 4 GB 的数据,并且在 DBCC SHRINKFILE 语句中将 target_size 指定为 3 GB,则只能释放 1 GB。

自动数据库收缩

将 AUTO_SHRINK 数据库选项设置为 ON 后,数据库引擎将自动收缩具有可用空间的数据库。此选项可以使用 ALTER DATABASE 语句来进行设置。默认情况下,此选项设置为 OFF。数据库引擎会定期检查每个数据库的空间使用情况。如果某个数据库的 AUTO_SHRINK 选项设置为 ON,则数据库引擎将减少数据库中文件的大小。该活动在后台进行,并且不影响数据库内的用户活动。

网页链接我是用这个方法收缩的,可以将日志收缩到1MB

守得云开见月明,花了一个上午结合前辈的博客,终于弄好了sqlserver2008的数据库日志收缩到1MB,分享给大家

# 方法步骤

1、执行SQL语句改成“简单模式”

2、收缩数据库

3、执行SQL语句改回“完全模式”

## 第一步:执行SQL语句改成“简单模式”

USE [master]

GO

ALTER DATABASE  SlowXWebDB (改成你需要进行收缩的数据库名) SET RECOVERY SIMPLE WITH NO_WAIT

GO

ALTER DATABASE SlowXWebDB (改成你需要进行收缩的数据库名) SET RECOVERY SIMPLE --改成简单模式

GO

## 第二步:进行数据库 *** 作

相关界面截图和 *** 作

假定:

数据库名:SlowXWebDB

日志文件名:SlowXWebDB_Log

数据库日志文件过大需要清理

**1.选择数据库右键点击任务-收缩-文件   注意:文件类型选为日志**

2.如下图选择需要收缩的大小,最小为0MB,本人实测最小只能到1MB,不过已经很满足了哈哈**

3.点击确认,几十G的日志文件,嗖的一下就瘦身完成了****看下数据库日志文件清理后的效**果

## 第三步:执行SQL语句改成“完全模式”

USE [master]

GO

ALTER DATABASE SlowXWebDB (改成你需要进行收缩的数据库名)SET RECOVERY FULL WITH NO_WAIT

GO

ALTER DATABASE datebaseName(改成你需要进行收缩的数据库名)SET RECOVERY FULL --还原为完全模式

GO

==最后不要忘记实测下数据库是否能够正常使用==

网页链接


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9775992.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存