怎样在SQL Server 2000中收缩数据库

怎样在SQL Server 2000中收缩数据库,第1张

*** 作步骤如下:

(1)打开SQL Server企业管理器。双击打开“数据”节点,在要收缩的数据库名称上,单击鼠标右键,在d出的快捷菜单中选择“所有任务”→“收缩数据库”命令,d出“收缩数据库”对话框,如图1所示。

图1 收缩数据库

(2)指定数据库的收缩量,可以从以下选项中选择。

在“收缩后文件中的最大可用空间”文本框中输入收缩后数据库中剩余的可用空间量。以“数据库大小,可用空间”值作为依据。如最大可用空间是“25%”,则在该选项中设置小于该数值的百分比,如“12%”。

选择“在收缩前将页移到文件起始位置”复选框,使释放的文件空间保留在数据库文件中,并使包含数据的页移到数据库文件的起始位置。

(3)在“调度”选项框中,选择是否自动定期执行数据库压缩 *** 作。选中“根据本调度来收缩数据库”复选框,单击“更改”按钮,创建或更改自动收缩数据库的频率和时间。

(4)最后单击“确定”按钮完成 *** 作。

您好,很高兴能帮助您,

使用GUI配置数据库备份压缩

1 使用SQL Server管理套件连接到SQL Server 2008实例。

2 在对象管理器中,右键单击服务器和选择属性来查看服务器属性窗口。

3 在备份和恢复下,压缩备份显示了备份压缩默认选项的当前设置。这个设置决定了服务器级别对压缩备份的默认:

如果没有选压缩备份,新的备份在默认情况下是不压缩的。

如果选择了压缩备份,那么新的备份在默认情况下会被压缩。

4 用户需要是sysadmin 或serveradmin 固定服务器角色的成员,来改变数据库备份压缩的默认设置。

你的采纳是我前进的动力,还有不懂的地方,请你继续“追问”!

如你还有别的问题,可另外向我求助;答题不易,互相理解,互相帮助!

下面有两个SQL语句可以达到在SQL

Server

2005/2008压缩指定数据库文件和日志的大小的效果:

1、DBCC

SHRINKDATABASE

(Transact-SQL)

收缩指定数据库中的数据文件和日志文件的大小。

语法

DBCC

SHRINKDATABASE

(

'database_name'

|

database_id

|

0

[

,target_percent

]

[

,

{

NOTRUNCATE

|

TRUNCATEONLY

}

]

)

[

WITH

NO_INFOMSGS

]

参数

'database_name'

|

database_id

|

0

要收缩的数据库的名称或

ID。如果指定

0,则使用当前数据库。

target_percent

数据库收缩后的数据库文件中所需的剩余可用空间百分比。

NOTRUNCATE

通过将已分配的页从文件末尾移动到文件前面的未分配页来压缩数据文件中的数据。target_percent

是可选参数。

文件末尾的可用空间不会返回给 *** 作系统,文件的物理大小也不会更改。因此,指定

NOTRUNCATE

时,数据库看起来未收缩。

NOTRUNCATE

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

TRUNCATEONLY

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

TRUNCATEONLY

一起指定,将忽略

target_percent。

TRUNCATEONLY

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

前奏:前些天因为客户那边的问题(其实是盗版问题),只能使用免费的SQLSERVER EXPRESS版本express版本的SQLSERVER的整个数据库的数据文件大小限制为4GB,就是说不管你用多少个文件组,多少个辅助数据文件ndf所有加起来都不能超过4GB(mdf+ndf)事务日志文件大小没有限制因为我们的数据库只是使用了一个主数据文件GPOSmdf和一个事务日志文件GPOSldf 本人的解决思路:本人在想如果是这样,到时候就收缩数据库呗在网上查了一下资料:由于DBCC SHRINKDATABASE一次运行会同时影响所有的文件(包括数据文件和日志文件),使用者不能指定每个文件的目标大小,其结果可能不能达到预期的要求。所以建议先做好规划,对每个文件确定预期目标,然后使用DBCC SHRINKFILE来一个文件一个文件地做比较稳妥本来很开心的,网上资料都说使用DBCC SHRINKFILE来收缩文件,那这样就不怕拉 (我不怕不怕拉~)但是,往下看那个资料:1、首先了解数据文件当前的使用情况收缩量的大小不可能超过当前文件的空闲空间的大小。如果想要压缩数据库的大小,首先要确认数据文件里的确有相应未被使用的空间。如果空间都在使用中,那就要确认大量占用空间的对象(表格或索引)。然后通过归档历史数据,先把空间释放出来 2、主数据文件(primary file)是不能被清空的。能被完全清空的只有辅助数据文件 3、如果要把一个文件组整个清空,要删除分配在这个文件组上的对象(表格或索引),或者把他们移到其他文件组上。DBCC SHRINKFILE不会帮你做这个工作把数据文件里面数据和对象清除完、确认数据文件(组)有足够的空闲空间后,管理员就可以使用DBCC SHRINKFILE来缩小或清空指定文件了。如果要缩小文件,就填上需要的target_size,如果要清空文件,就选择EMPTYFILE 根据上面资料所说,本人的解决思路是:1、确认大量占用空间的对象(表格或索引)。然后通过归档历史数据,先把空间释放出来再压缩数据文件2、重建索引,把一些数据页面重排一次,原先的页面被释放,所占用的分区也被释放,再去DBCC SHRINKFILE如果你们有其他解决方法希望你们告诉我,谢谢您们了!!

以上就是关于怎样在SQL Server 2000中收缩数据库全部的内容,包括:怎样在SQL Server 2000中收缩数据库、如何自动批量异地备份压缩SQLSERVER数据库、如何压缩SQL Server 2005指定数据库文件和日志的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9781126.html

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

发表评论

登录后才能评论

评论列表(0条)

保存