怎么清理服务器数据库日志文件,SQL SERVER 数据库日志清理图文教程
每次看到暴涨的数据库日志就有些头大,如何进行清空呢?这里以一台数据库SQL SERVER
2005为例,日志文件达到了100多个G一直无法清理,想了很多的办法:
比如下面这款SqlServer日志清除专家,可用于SQL Server 7、SQL
Server 2000、SQL Server 2005的各种版本的数据库日志的清除。
这个工具一清就可以清干净的。使您再也不用担心数据库日志文件超过几百兆或上GB级而烦恼。
第二个方法就是采用了一个比较死的办法。采用 分离,然后再删除日志文件再附加来生成一个新的日志文件。
切记在操作前先把SQL好好的备份一下。
第一步 当然还是打开企业管理器了
在分离前最好是先把IIS之类的正在连接数据库的程序关一下,要不然老半天也分离不了。
也可以选择一下 删除链接 这样可能分离会快一点。
我们再定位到数据库所在的硬盘位置
我们为了保除起见可以把 qq2.mdf备份一份,然后再将 qq2_log.ldf
这个文件重命一下名(200G的文件实在是没地方可以备份)。
然后我们再来附加数据库
附加到刚刚那个 mdf的文件。注意看下面会提示 .ldf 文件找不到。
不管他了。选择 .ldf这一分把他给删掉。
然后再确定,哈还原成功了。系统自动生成了一个新的 ldf 文件 504KB
建议大家先用上面的那个工具去清一下,如果清不到再用这个死办法来删除日志。
最后再次提醒各位一定要注意备份噢!!
==================================
第三个方法收缩备份后收缩日期
1.将数据库设置成 简单 模式
选择要收缩的数据库,点右键 属性->选项,选择 简单模式
2.选择任务->收缩->文件
3.选择日志
或者用如下语句
(SQL2005)BackupLogDNNamewithno_loggodumptransactionDNNamewithno_loggoUSEDNNameDBCCSHRINKFILE (2)Go--------------------------------------------------------------(SQL2008):在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。USE[master]GOALTERDATABASEDNNameSETRECOVERY SIMPLEWITHNO_WAITGOALTERDATABASEDNNameSETRECOVERY SIMPLE--简单模式GOUSEDNNameGODBCCSHRINKFILE (N'DNName_Log',11, TRUNCATEONLY)GOUSE[master]GOALTERDATABASEDNNameSETRECOVERYFULLWITHNO_WAITGOALTERDATABASEDNNameSETRECOVERYFULL--还原为完全模式GO优点:此清除日志所运行消耗的时间短,90GB的日志在分钟左右即可清除完毕,做完之后做个完全备份在分钟内
即可完成。
缺点: 不过此动作最好不要经常使用,因为它的运行会带来系统碎片。普通状态下LOG和DIFF的备份即可截断日志。
此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响生产的情况下使用。
---------------------======================
Server 2000要清理使用的是dump语句,但是在SQL
里,这个语句不管用了,如果日志文件很大,比如超过1G,就需要截断一下日志文件以加快sqlserver的运行速度,在SQL
Server2008里,方法改为:
有数据库 xxdb 在 SQL Server 2008 下,日志文件已经超过1G。
以往使用BACKUP语句-BACKUP LOG xxdb WITH NO_LOG 已经失效,在查阅 MSDN
之后发现 MS 提供的标准截断日志语句已经变为了 “BACKUP LOG 语句不指定 WITH
COPY_ONLY”
使用语句 BACKUP LOG xxdb to disk='x:work1.bak'
将日志文件备份,并截断日志文件。这里x:代表你想要备份文件的盘符。
然后使用 DBCC SHRINKFILE (xxdb_log,10) 收缩日志文件到
10M
总结:
完整的收缩日志文件的 T-SQL 语句:
BACKUP LOG xxdb to disk='x:work1.bak'
DBCC SHRINKFILE (xxdb_log,10)
GO
--
BACKUP LOG to disk=
DBCC SHRINKFILE (,10)
GO
里面的x:work是随意设置的。当然也可以收缩到比如5M或1M。
--------------=============================
数据库的数据是极其宝贵的,作为管理员的一项主要工作就是对数据库按计划进行备份,从而在性能和数据安全找个平衡。换句话说备份的目的就是防范可能的硬件故障,自然灾害或数据被非法篡改。
备份可以分为完整备份,差异备份和事物日志备份。
完整备份备份整个数据库,包含数据库文件,这些文件的地址及事物日志中的从备份开始时记录的日志顺序号到备份结束时的日志顺序号。完整备份是其他备份的基础,没有完整备份将无法进行差异备份和事物日志备份。
步骤:打开SQL
Server Management Studio,展开服务器文件夹下的数据库文件夹
右击要备份的数据库,选择“属性”选项
把“选项”页面上的“恢复模式”改为“完整”,这步操作主要是为了保留日志,为接下来的事物日志备份做准备。
右击需要做备份的数据库,选择“任务”、“备份”,在“备份数据库”对话框中选择“备份类型”为“完整”。
选择备份设备
在“选项”页面上选择“覆盖所有的现有备份集”,从而初始化崭新的设备或覆盖现有的设备
建议选取“完成后验证备份”来核对实际数据库与备份副本以保证一致性
单击“确定”开始备份
备份完成后可以查看一下,打开SQL
Server Management Studio下的“对象资源管理器”,展开“服务器对象”下的“备份设备”,右击设备选择“属性”选项,在“媒体内容”页面上看到我们作的备份
差异备份记录自上一个完整备份后数据库发生的所有变化,与事物日志备份的区别就是差异备份始终以上一个完整备份为起点,而事物日志备份是以上一次备份为起点的。当执行差异备份时SQL
Server读取上一次完整备份的最后日志顺序号,并找出自上次完整备份后发生变化的页面,并对发生变化所在页面的整个盘区(Extent)进行备份。
步骤:打开SQL
Server Management Studio,展开服务器文件夹下的数据库文件夹
右击需要做备份的数据库,选择“任务”、“备份”,在“备份数据库”对话框中选择“备份类型”为“差异”。
选择备份设备
在“选项”页面上选择“追加到现有备份集”,不覆盖现有的完整备份,不要选择“覆盖所有的现有备份集”从而避免覆盖现有的完整备份。
建议选取“完成后验证备份”来核对实际数据库与备份副本以保证一致性
单击“确定”开始备份
最后一种是事物日志备份,事物日志备份依赖于完整备份但并不备份数据库本身,只备份事物日志中自上一个事物日志备份以来发生变化的部分。
关于事物日志再多提一点,在数据库使用完全或批量日志恢复模型时,事物日志备份是唯一能从事物日志中清除旧事物日志的方式,当数据库使用简单恢复模型时完整备份与差异备份才能清除事物日志。
步骤:打开SQL
Server Management Studio,展开服务器文件夹下的数据库文件夹
右击需要做备份的数据库,选择“任务”、“备份”,在“备份数据库”对话框中选择“备份类型”为“事物日志”。
选择备份设备
在“选项”页面上选择“追加到现有备份集”,不覆盖现有的完整备份,不要选择“覆盖所有的现有备份集”从而避免覆盖现有的完整备份。
建议选取“完成后验证备份”来核对实际数据库与备份副本以保证一致性
单击“确定”开始备份
常见的备份主要是以上三种,除此以外,在大型数据库中还有一种选择:文件组备份,每次只从数据库中备份一小部分,在本文不对文件组备份作讨论。
备份策略的设计
相比较几种备份方式,用一句话形容就是存在即合理,每种备份方式都有其优缺点和适应范围,要根据实际工作具体考虑
纯完整备份优点是恢复过程是所有策略中最快的,相对的,它的备份过程也是所有策略中最慢的,另外,纯完整备份无法清除事物日志(使用完全或批量恢复模型且保留时间点恢复功能),作为补充可以使用TRUNCATE_ONLY从句执行一个事物日志备份,仅清空而不备份事物日志。
完整&差异备份优点是恢复过程是所有策略中较快的,同时它的备份过程也不是所有策略中最慢的,此外,完整&差异备份同样无法清除事物日志(使用完全或批量恢复模型且保留时间点恢复功能),可以使用TRUNCATE_ONLY从句执行一个事物日志备份,仅清空而不备份事物日志。
完整&事物日志备份优点是备份过程比完整&差异备份快但它的恢复是最麻烦的,完整&事物日志备份能够清除事物日志,是任何一种数据库备份策略所必不可缺的。
怎么清理服务器数据库日志文件,SQL SERVER 数据库日志清理图文教程相关推荐
- linux 附加数据库文件,SQL Server 数据库分离与附加图文详解
SQL Server 数据库分离与附加图文教程,需要的朋友可以参考一下. 一.概述 SQL Server提供了"分离/附加"数据库."备份/还原"数据库.复制数 ...
- SQL SERVER 2000 数据库备份和SQL Server数据库备份有两种方式,
SQL SERVER 2000 数据库备份与还原时间:2006-08-30 10:23:23 来源:CSDN 作者:佚名备份数据库,例如: BACKUP DATABASE Northwind ...
- 【数据库数据恢复】Sql Server数据库数据恢复案例
数据库数据恢复环境: 5块2T硬盘组建RAID5: 划分LUN供windows服务器使用: Sql Server2008数据库: 存储空间有三个逻辑分区. 数据库故障: 数据库文件丢失,涉及到5个数据 ...
- 【数据库数据恢复】SQL SERVER数据库MDF (NDF)或LDF损坏怎么恢复数据?
SQL SERVER数据库故障类型: MDF(NDF)或LDF损坏. SQL SERVER故障原因: 1.数据库正在操作过程中,机器突然断电: 2.人为误操作. SQL SERVER故障表现: 1.数 ...
- python连接sql数据库_python连接sql server数据库实现增删改查
简述 python连接微软的sql server数据库用的第三方模块叫做pymssql(document:http://www.pymssql.org/en/stable/index.html).在官 ...
- 【数据库-汇总】SQL SERVER数据库
1.sql sever增删改相关 -- 切换数据库 -- use 数据库名; 1.1创建部门表: create table Department ( -- 部门编号,primary key: ...
- python3连接sql server数据库_Python3操作SQL Server数据库(实例讲解)
1.前言 前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话,实用性就不那么大了. 2.最基本的SQL查询语句 python是使用pymssql这个模 ...
- 【学习记录】第一章 数据库设计-《SQL Server数据库设计和开发基础篇视频课程》...
一.课程笔记 1.1 软件开发周期 (1)需求分析阶段 分析客户的业务和数据处理需求. (2)概要设计阶段 设计数据库的E-R模型图,确认需求信息的正确和完整. /* E-R图:实体-关系图(Ent ...
- python调用sql数据库_Python3操作SQL Server数据库(实例讲解)
1.前言 前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话,实用性就不那么大了. 2.最基本的SQL查询语句 python是使用pymssql这个模 ...
- windows服务器系统巡检脚本,sql server 数据库巡检脚本
我司数据库一季度巡检一次,所以经常用到下面脚本 --1.查看数据库版本信息 select @@version --2.查看所有数据库名称及大小 exec sp_helpdb --3.查看数据库所在机器 ...
最新文章
- SQL SERVER数据库中的数据类型 转
- CentOS7最小化安装配置IP
- 软件工程 工具之二—— PowerDesigner v12(四)
- 8.3 matlab图形用户界面设计方法
- Android之在ubuntu上用aapt查看apk的名字以及相关信息
- signature=adf15bd90b83b628c647a1aa64741773,Thoracic Oncology
- python summary_利用python爬取新闻信息
- 知识技能归档--CA-PKI体系-20210324
- android秋招面试题及答案,阿里巴巴2019秋招客户端开发工程师在线笔试题和面试题答案...
- windows安装mysql-8.0.12-winx64和Navicat客户端连接(亲测有效)
- Python 下载的 11 种姿势
- 笔记——常用网站总结
- qlv视频转换器免费版_推荐几款强大的视频剪辑软件
- WINDOWS常见问题的最佳解决方案
- UE5 live-coding和build中version“1.2“ not support build failed解决方法
- 冷库管理源码PHP,冷库管理系统,你想知道的都在这里
- 路漫漫其修远兮,吾将上下而求索--2019OKR规划
- zabbix调用sendsms.py脚本,发送短信
- android sip协议栈,基于Android平台及SIP协议的软电话系统的研究
- 计算机组成原理——移位运算