最近的项目主要做数据的归档,把数据从一个数据库拉到另一个数据库,造成新数据库的日志文件非常大;或者数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。于是想把日志文件删除。最简单就是先分离数据库-》删除日志

最近的项目主要做数据的归档,把数据从一个数据库拉到另一个数据库,造成新数据库的日志文件非常大;或者数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。于是想把日志文件删除。最简单就是先分离数据库-》删除日志文件-》最后附加数据,我这里需要在SSIS中调用,所以已sql脚本为主。

两种简单的清除日志的方法:

一分离附加法:

1、首先把数据库分离,分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离,其中药勾选删除连接!

分离后在数据库列表将看不到已分离的数据库。

2、删除数据库的LOG文件数据库文件夹下的对应数据库的 ldf文件

3、附加数据库,附加的时候会提醒找不到log文件。到时附加上后会自动创建一个新的日志文件,从而达到清理数据库的目的

二、sql语句清除mssql日志

DUMP TRANSACTION TestDB WITH NO_LOG 清除日志

DBCC SHRINKFILE ('TestDB_log',1) 收缩数据库文件

BACKUP LOG TestDB WITH NO_LOG 截断事务日志

该命令在SQL Server 2008也是不支持,在SQL Server 2005和2000可以使用。

首先我们需要获取数据库文件的路径:

declare @logfilename varchar(100)

declare @datafilename varchar(100)

select @logfilename=physical_name from sys.database_files where type=1

select @datafilename=physical_name from sys.database_files where type=0

然后切换到master下,,分离数据库

use master

exec sp_detach_db @dbname='TestVFA';

紧接下来就是删除数据库 日志文件

----Remove file

DECLARE @Result int

DECLARE @FSO_Token int

EXEC @Result = sp_OACreate 'Scripting.FileSystemObject', @FSO_Token OUTPUT

EXEC @Result = sp_OAMethod @FSO_Token, 'DeleteFile', NULL, @logfilename

EXEC @Result = sp_OADestroy @FSO_Token

最后就是附加数据库

exec sp_attach_single_file_db @dbname='TestVFA',@physname=@datafilename

注意:默认Ole Automation Procedures 是禁用的我们需要启用它

exec sp_configure 'show advanced options', 1;

RECONFIGURE;

exec sp_configure 'Ole Automation Procedures',1;

RECONFIGURE;

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php删除数据库数据操作日志文件,MSSQL清空日志删除日志文件相关推荐

  1. QTP中对数据库的操作(查询,更新和删除等)

    标题为QTP对数据库的操作,其实应该改为QTP/VBS对数据库的操作.因为QTP中就是通过vbs完成数据库操作的.以access为例. 通过ADO对数据库访问的步骤如下: a.创建一个到数据库的 AD ...

  2. MySQL删除表及删除表数据操作

    MySQL删除表和删除表的数据是常见的操作,使用关键词 DELETE FROM 表名的结构模式,下面详细讲述删除表和删除表数据. 1,删除数据库里面的表DELETE FROM employees;2, ...

  3. mysql删除重复数据只保留一条_mysql查找删除重复数据并只保留一条实例详解

    有这样一张表,表数据及结果如下: school_id school_name total_student test_takers 1239 Abraham Lincoln High School 55 ...

  4. 日志表数据太多,进行删除部分数据操作

    由于项目运行了好几年,数据库中的日志表的数据量比较大,如果使用常规的删除语句进行删除的话,需要很长的时间,并且不一定能删除掉. TRUNCATE TABLE 表 使用TRUNCATE TABLE时需要 ...

  5. php删除数据库中数据表的数据,php中删除数据库数据例子

    php除了删除文件目录不用用到mysql中的delete之外只要删除mysql数据库中的数据都要用到数据库的命令了,下面我看利用delete来删除数据的例子. sql有许多对数据库操作的语句.但是常见 ...

  6. oracle 11g数据库数据操作(亲测)

    oracle 11g安装和oracle数据库监听配置就不说了,直接说数据库的相关操作 建立 wiicare 用户 create directory dump_dir as 'd:\test\dump' ...

  7. MySQL数据库肖睿版_正版 MySQL数据库应用技术及实战肖睿MySQL数据库数据操作数据恢复备份MySQL数据库优化My...

    基本信息 书名:MySQL数据库应用技术及实战 定价:32.00元 作者:肖睿程宁田崇峰 出版社:人民邮电出版社 出版日期:2018-01-01 ISBN:9787#115474223 字数: 页码: ...

  8. JDBC完成对数据库数据操作(增,删,改,查)

    写在前面 虽然在实际开发中关于这些操作都不会让我们去写,但是掌握这代码的逻辑编写对我们使用框架有一定的帮助. 学习JDBC:请关注专栏--JDBC学习--内容详细 相关文章: JDBC总述 JDBC连 ...

  9. go : 使用 grom 删除数据库数据

    你受的苦 吃的亏 担的责 扛的罪 忍的痛 到最后都会变成光 照亮你的路 !!! 代码已放在:https://gitee.com/hjx_RuGuoYunZhiDao/strom-huang-go 可参 ...

最新文章

  1. 翻译 | CSS网格(CSS Grid)布局入门
  2. 中国智能控制器行业运营分析与竞争趋势展望报告2022-2027年版
  3. JDBC连接池C3P0,druid
  4. C提高_day03_两个辅助指针变量挖字符串(强化4)
  5. WindowsXP命令行修改服务启动选项
  6. Java编程学习中必须掌握的13个核心技术
  7. e2140服务器性能,4000 还是E2140?两大人气CPU对决
  8. Spring中注入List,Set,Map,Properties的xml文件配置方法
  9. The Stanford Geostatistical Modeling Software(地质统计软件)
  10. php 是否存在,php判断常量是否存在
  11. Java多线程为什么使用while循环来调用wait方法
  12. 如何在Visual Studio Code中使用Live Share
  13. 博士申请 | 美国弗吉尼亚大学张尚彤老师招收强化学习方向全奖博士/硕士/实习生...
  14. 一文带你了解降压型稳压芯片原理
  15. game-of-life-master jenkins部署
  16. 请立即停止刷博客流量
  17. excel职称计算机应用,2017职称计算机考试Excel辅导:工作表的编辑
  18. DataNode(面试开发重点3)
  19. leetcode每日一题--前缀树;前缀哈希;深搜;面试题 08.04. 幂集;648. 单词替换面试题 01.09. 字符串轮转;剑指 Offer II 062. 实现前缀树
  20. 市政下水道疏通机器人_市政下水道疏通机器人的制作方法

热门文章

  1. ./configure,make,make install 的作用
  2. 数据库分类与四大类NoSQL数据库
  3. C 基础——指针函数与函数指针
  4. 为什么都建议学java而不是python-就目前来说,学Java好还是学Python好?
  5. 学python能赚钱吗-哪种Python程序员最赚钱?爬虫数据告诉你!
  6. python小白从哪来开始-写给小白的工程师入门 - 从 Python 开始
  7. python和java学哪个好-学python还是java python和java哪个好入门
  8. python自动化测试-五大自动化测试的Python框架
  9. python是什么-Python 是什么
  10. 语音识别的技术原理是什么?