您当前的位置:首页 > 互联网教程

mssql数据库太大怎么压缩(数据库文件怎么压缩)

发布时间:2025-05-22 12:38:19    发布人:远客网络

mssql数据库太大怎么压缩(数据库文件怎么压缩)

一、mssql数据库太大怎么压缩(数据库文件怎么压缩)

数据库在使用一段时间后,时常会出现因数据删除而造成数据库中空闲空间太多的情况,这时就需要减少分配给数据库文件和事务日志文件的磁盘空间,以免浪费磁盘空间。当数据库中没有数据时,可以修改数据库文件属性直接改变其占用空间,但当数据库中有数据时,这样做会破坏数据库中的数据,因此需要使用压缩的方式来缩减数据库空间。可以在数据库属性选项中选择“Autoshrink”选项,让系统自动压缩数据库,也可以用人工的方法来压缩。人工压缩数据库有以下两种方式:

1、用EnterpriseManager压缩数据库

在EnterpriseManager中在所要压缩的数据库上单击右键,从快捷菜单中的“所有任务(AllTasks)”中选择“ShrinkDatabase(压缩数据库)”选项

、用Transact-SQL命令压缩数据库

可以使用DBCC和DBCCSHRINKFILE命令来压缩数据库。其中DBCC命令对数据库进行压缩,DBCCSHRINKFILE命令对数据库中指定的文件进行压缩。

DBCC(database_name[,target_percent]

target_percent指定将数据库压缩后,未使用的空间占数据库大小的百分之几。如果指定的百分比过大,超过了压缩前未使用空间所占的比例,则数据库不会被压缩。并且压缩后的数据库不能比数据库初始设定的容量小。

将数据库缩减后剩余的空间保留在数据库,中不返还给操作系统。如果不选择此选项,则剩余的空间返还给操作系统。

将数据库缩减后剩余的空间返还给操作系统。使用此命令时SQLServer将文件缩减到最后一个文件分配,区域但不移动任何数据文件。选择此项后,target_percent选项就无效了。

压缩数据库mytest的未使用空间为数据库大小的20%。

DBCCexecutioncompleted.IfDBCCprintederrormessages,contactyoursystem.

DBCCSHRINKFILE命令压缩当前数据库中的文件。其语法如下:

DBCCSHRINKFILE({file_name|file_id}

指定要压缩的文件的鉴别号(number,即ID)。文件的ID号可以通过FILE_ID()函数或如本章前面所讲述的Sp_helpdb系统存储过程来得到。

指定文件压缩后的大小。以MB为单位。如果不指定此选项,SQLServer就会尽最大可能地缩减文件。

指明此文件不再使用,将移动所有在此文件中的数据到同一文件组中的其它文件中去。执行带此参数的命令后,此文件就可以用ALTERDATABASE命令来删除了。

其余参数NOTRUNCATE和与DBCC命令中的含义相同。

例6-15:压缩数据库mydb中的数据库文件mydb_data2的大小到1MB。usemydbdbshrinkfile(mydb_data2,1)

二、mssqlserver是什么

mssqlserver是指微软的SQL Server数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。

SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。

数据库(Database),简而言之可视为电子化的文件柜――存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。

所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。一个数据库由多个表空间(Tablespace)构成。

三、Mssql限制了数据库文件的大小,要如何取消限制

1、这通常发生在用户端的数据库日志文件达到允许的最大值。 Remember that database log files are different than web log files.请记住,数据库日志文件比Web日志文件的不同。 Usually on our server maximum allowed log file size is 50 MB.通常为50 MB的最大允许我们的服务器上日志文件的大小。 If client's log file size reach this limit the above error message"database connection failed" occurs.如果客户端的日志文件的大小达到此限制,上述错误信息“数据库连接失败”的发生。

2、This problem can be resolved in three different ways.这个问题可以解决三种不同的方式。

3、1) We shrink customer's database transaction log files. 1)我们缩小客户的数据库事务日志文件。 In this event, some of the old transactions are removed from transaction log files.在这种情况下,旧的一些交易将被删除事务日志文件。 Please note that there is no database information lost.请注意,没有数据库信息丢失。

4、Here is the procedure for shrinking database log files:下面是收缩数据库日志文件的过程:

5、Step 1:- Open Query Analyzer of MSSQL.第1步:-分析仪mssql的打开查询。

6、Step 2:- Backup Transaction log using command backup log DBNAME with truncate_only第2步:-备份事务日志使用日志备份的数据库名与truncate_only命令

7、Step 3:- Shrink Transaction log using command DBCC SHRINKFILE(DBName, size)- This would shrink logs to the desired size.第3步:-收缩事务日志使用命令DBCC SHRINKFILE(数据库名,大小)-这将收缩日志到所需的大小。

8、2) Another way is increasing the allowed transaction log limit from MSSQL 2005 Enterprise manager. 2)另一种方式是允许的交易越来越多,从2005年企业管理器日志mssql的限制。 Usually 50 MB is the standard space allocated for transaction log files.通常为50 MB的是标准的事务日志文件空间分配。 By login to Enterprise manager, you can increase that to 50 MB.通过登录到企业管理器,你能够增加为50 MB。

9、Here is the procedure...下面是程序...

10、Step 1:- Login to Enterprise manager of MSSQL.第1步:-登录到企业mssql的经理。

11、Step 2:- Right click on DBname and select Properties.步骤2:-右键属性点击数据库名,然后选择。

12、Step 3:- Click on"Trasaction Log" tab.第3步:-选项卡点击“Trasaction日志”。

13、Step 4:- Select"Restrict File Growth" option.第4步:-选择“文件增长限制”选项。

14、Step 5:- Provide desired size limit in MB.第五步:-提供所需的大小限制,以MB。

15、3) One more option is to allow customer's transaction log file to incrementally grow by x% when it reaches the limit. 3)多一个选择,是让客户的交易日志文件,以逐步由x%的速度增长,当它到达了极限。 So, if customer reaches the limit, log file size will be increased automatically by x%.因此,如果客户达到极限,日志文件的大小将自动增加由x%。

16、Here is the procedure to do that:下面是步骤做:

17、Step 1:- Login to Enterprise manager of MSSQL.第1步:-登录到企业mssql的经理。

18、Step 2:- Right click on DBname and select Properties.步骤2:-右键属性点击数据库名,然后选择。

19、Step 3:- Click on"Trasaction Log" tab.第3步:-选项卡点击“Trasaction日志”。

20、Step 4:- Click on Check box"Automatically growth file" checkbox.第4步:-盒点击检查“自动增长文件”复选框。

21、Step 5:- Select"By percent" option and provide desired size limit in%.第五步:-选择“按百分比”选项,并提供所需的大小限制在%。