当前位置:首页 » 编程语言 » sql日志文件太大

sql日志文件太大

发布时间: 2024-06-16 03:52:04

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

请按步骤进行 未进行前面的步骤时 请不要做后面的步骤 以免损坏你的数据库

一般不建议做第 两步 第 步不安全 有可能损坏数据库或丢失数据 第 步如果日志达到上限 则以后的数据库处理会失败 在清理日志后才能恢复

清空日志

DUMP TRANSACTION 库名 WITH NO_LOG

截断事务日志

BACKUP LOG 数据库名 WITH NO_LOG

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

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

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

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

也可以用SQL语句来完成

收缩数据库

DBCC SHRINKDATABASE(客户资料)

收缩指定数据文件 是文件号 可以通过这个语句查询到:

select * from sysfiles

DBCC SHRINKFILE( )

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

a 分离数据库:

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

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

c 附加数据库:

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

此法将生成新的LOG 大小只有 多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

为了以后能自动收缩 做如下设置

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

SQL语句设置方式:

EXEC sp_dboption 数据库名

autoshrink TRUE

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

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

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

SQL语句的设置方式:

lishixin/Article/program/SQLServer/201311/22266

② 如何从根本上解决SQL数据库日志已满的问题

1、你设置了日志文件的最大数,数据库的恢复模式是完整恢复模式,所有的针对数据库的改动都会记录到日志,不仅仅是你的改动数据库,数据库本身的操作也有记录到日志,所以,日志文件才会不断增长。
2、那是因为大部分的电脑上的数据库,基本没怎么变过,但生产用的数据库经常变动,所以日志记录也变得巨大,我见过数据库200MB,但是日志文件50GB,因为本来数据库有10GB,因为测试需要删除了大部分的数据,结果导致日志文件增长到了50GB。
3、定时备份日志并收缩日志文件。
4、通过备份日志,并收缩日志文件,这个语句你自己网络。

5、日志是一个以事务编号连续的记录,比如,我第一次备份的日志事务编号为1-1000,那么日志就会被截断,并从1001开始,之后的日志备份就从1001开始了,所以,初始备份一直到最后一次备份都不能删除,否则使用日志恢复时会出现问题。

热点内容
androidmvc框架 发布:2024-06-24 03:01:27 浏览:97
python程序能不能编译成exe 发布:2024-06-24 02:53:20 浏览:928
dz网站源码 发布:2024-06-24 02:53:11 浏览:92
c语言里的不等于 发布:2024-06-24 02:42:07 浏览:26
进化算法优化算法 发布:2024-06-24 02:38:19 浏览:271
有什么便宜的直角边框安卓手机 发布:2024-06-24 02:37:41 浏览:456
数据库与数据库文件 发布:2024-06-24 02:28:33 浏览:302
目前linux 发布:2024-06-24 02:28:31 浏览:393
伟创oa怎么备份服务器转移 发布:2024-06-24 02:28:22 浏览:357
美国存储枪支 发布:2024-06-24 02:22:34 浏览:759