如何缩小MSSQL数据库的大小(日志)

如何缩小MSSQL数据库的大小(日志),第1张

数据部分存储的是用户数据库中的数据,包含用户的数据表、视图、存储过程等等内容。数据部分一般存储与数据库文件组中的.mdb文件中。一般来说,在正常使用的情况下,这个部分的大小不会经常性地发生很大的变化,除非是用于存储论坛之类快速变化的数据内容。一般而言,这个部分很少会需要缩小。事务日志存储的是用户数据库操作的事务记录,主要是用于在数据库服务器发生故障(比如电源故障之后),恢复数据库中的数据完整性而用的。这个部分一般存储于数据库文件组中的.ldf文件中。这个部分的大小经常会发生剧烈的变化。在某些情况下,由于用户的查询语句(SQL语句)书写的问题,会造成数据库文件大小的急剧膨胀,尤其是日志文件会变得非常大。这个时候需要对数据库加以缩小。缩小的操作分为两个步骤:步骤一 截断数据库中的日志内容BACKUP LOG 数据库名称 WITH TRUNCATE_ONLY步骤二 强制数据库压缩其大小DBCC SHRINKDATABASE ( 数据库名称 , TRUNCATEONLY )这两个步骤需要使用查询分析器来执行。关于其具体的意义,请参考mssql(WINDOWS平台上强大的数据库平台)数据库附带的

数据库与备份文件根据“存储设备”大小而限制。至于3G的文件并不算大,运行的快慢要看SQL编写精练与机器性能决定。单个表最好不要超过100万行。有必要时可以收缩一下数据库。对于单表数据过大可备份后清除早期不用的数据。

这通常发生在用户端的数据库日志文件达到允许的最大值。 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.如果客户端的日志文件的大小达到此限制,上述错误信息“数据库连接失败”的发生。

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

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 .请注意, 没有数据库信息丢失 。

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

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

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

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

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。

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

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

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

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

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

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

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%。

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

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

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

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

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

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


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/81219.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存