欢迎来到 Hi-Template 模版基地!
返回 技术支持

数据库日志文件压缩的方法及步骤

怎样压缩数据库的日志文件

具体方法有3种。

方法一:

第一步:

backup log database_name with no_log

或者 backup log database_name with truncate_only

— no_log和truncate_only是在这里是同义的,随便执行哪一句都可以。

第二步:

1.收缩特定数据库的所有数据和日志文件,执行:

dbcc shrinkdatabase (database_name,[,target_percent])

— database_name是要收缩的数据库名称;target_percent是数据库收缩后的数据库文件中所要的剩余可用空间百分比。

2.收缩一次一个特定数据库中的数据或日志文件,执行

dbcc shrinkfile(file_id,[,target_size])

— file_id是要收缩的文件的标识 (ID) 号,若要获得文件 ID,请使用 FILE_ID 函数或在当前数据库中搜索 sysfiles;target_size是用兆字节表示的所要的文件大小(用整数表示)。如果没有指定,dbcc shrinkfile 将文件大小减少到默认文件大小。两个dbcc都可以带上参数notruncate或truncateonly,具体意思查看联机帮助.

方法二:

第一步:

先备份整个数据库以备不测 。

第二步:

备份结束后,在Query Analyzer中执行如下的语句:

exec sp_detach_db yourDBName,true

–卸除这个DB在MSSQL中的注册信息

第三步:

到日志的物理文件所在的目录中去删除该日志文件或者将该日志文件移出该目录

第四步:

在Query Analyzer中执行如下的语句:

exec sp_attach_single_file_db yourDBName,’

d:\mssql\data\yourDBName_data.mdf ‘

–以单文件的方式注册该DB,如果成功则MSSQL将自动为这个DB生成一个500K的日志文件。

方法三:

1. 进入企业管理器,选中数据库,比如demo

2. 所有任务->分离数据库

3. 到数据库文件的存放目录,将MuOnline_log.LDF文件删除,以防万一,你可以拷出去

4. 企业管理器->附加数据库,选muonline,这个时候你会看见日志文件这项是一个叉,不要紧,继续,此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。

5. 记得数据库重新附加后用户要重新设置一下。

如果以后,不想要它变大:

SQL2000下使用:

在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。

或用SQL语句:

alter database 数据库名 set recovery simple

SQL数据库太大怎么办

–1.日常要做数据库压缩

–压缩日志及数据库文件大小

/*–特别注意

请按步骤进行,未进行前面的步骤,请不要做后面的步骤

否则可能损坏你的数据库.

–*/

1.清空日志

DUMP TRANSACTION 库名 WITH NO_LOG

2.截断事务日志:

BACKUP LOG 数据库名 WITH NO_LOG

3.收缩数据库文件(如果不压缩,数据库的文件不会减小

企业管理器–右键你要压缩的数据库–所有任务–收缩数据库–收缩文件

–选择日志文件–在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

–选择数据文件–在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

也可以用SQL语句来完成

–收缩数据库

DBCC SHRINKDATABASE(客户资料)

–收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles

DBCC SHRINKFILE(1)

4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)

a.分离数据库:

企业管理器–服务器–数据库–右键–分离数据库

b.在我的电脑中删除LOG文件

c.附加数据库:

企业管理器–服务器–数据库–右键–附加数据库

此法将生成新的LOG,大小只有500多K

或用代码:

下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。

a.分离

EXEC sp_detach_db @dbname = ‘pubs’

b.删除日志文件

c.再附加

EXEC sp_attach_single_file_db @dbname = ‘pubs’,

@physname = ‘c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf’

5.为了以后能自动收缩,做如下设置:

企业管理器–服务器–右键数据库–属性–选项–选择"自动收缩"

–SQL语句设置方式:

EXEC sp_dboption ‘数据库名’, ‘autoshrink’, ‘TRUE’

6.如果想以后不让它日志增长得太大

企业管理器–服务器–右键数据库–属性–事务日志

–将文件增长限制为xM(x是你允许的最大数据文件大小)

–SQL语句的设置方式:

alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)

关于定制开发的一些常见疑问解答

定制开发的费用是多少?

定制开发的费用根据项目复杂度、功能需求、开发周期等因素而定。简单的功能修改几百元起,完整的主题定制开发几千元起。

开发周期需要多长时间?

小型功能修改通常1-3天完成,中型项目约1-2周,大型定制项目可能需要1-2个月。我们会在项目开始前明确工期。

开发完成后提供售后支持吗?

是的,项目交付后提供1-3个月免费维护期,期间免费修复BUG和解答使用问题。维护期后可选择续签维护服务。

是否提供源代码?

是的,定制开发项目完成后,我们会提供完整的源代码,您拥有代码的完全所有权和使用权,不会进行加密或限制。

如何开始定制开发项目?

您可以通过QQ、微信或邮件联系我们,描述您的需求。我们会安排专人与您沟通,了解详细需求后提供报价方案。

付款方式是怎样的?

一般采用分期付款方式:签订合同后支付30%-50%定金,项目完成验收后支付尾款。支持支付宝、微信、银行转账。

定制的主题/插件会出售给他人吗?

不会。您定制的主题或插件是专属于您的,我们不会将其出售或提供给任何第三方,确保您的项目独一无二。

开发过程中可以修改需求吗?

开发过程中允许小范围的需求调整。如有较大改动,我们会评估工作量并协商调整报价和工期,确保双方满意。

账号登录

欢迎回来,请登录您的账号

账号注册

创建您的账号,开启精彩之旅

找回密码

输入您的邮箱,我们将发送重置链接

VIP会员
签到领福利
微信客服二维码
扫一扫添加客服微信
返回顶部