使用SQLServer代理实现定时清除数据库日志
使用SQLServer代理实现定时清除数据库日志(原创)
首先,要安装上SQLServer代理(幸运的是,SQLServer2000已经默认装上了它)。
然后运行它,如下图所示:
打开SQLServer企业管理器,在左侧控制台里,找到你所在的那台SQLServer服务器,打开“管理”-->“作业”,如下图所示:
点击右侧空白处,选择“新建作业”,如下图所示:
然后就填写作业名称、分类和描述。
主要就是填写名称,其它都是可选的。
我们这里给它起名“定时清除日志”,这个名字以方便记忆为目的。
如图所示:
先点击“步骤”选项卡,再点击“新建”按钮。
如图所示:
输入步骤名称,我们这里起名“step1”,你可以自己取个方便的名称。
选择对应的数据库,输入命令“DUMP TRANSACTION [你的数据库名] WITH no_log”。
我们这的演示数据库是“newvod”,注意要操作的数据库名要和命令中的数据库名一致。
如图所示:
点击确定保存后,再点“新建”按钮再创建一个步骤。
如图所示:
设置完步骤后,我们还需要设置这个作业什么时候执行。
所以,点击“调度”选项卡,点击“新建调度”按钮。
如图所示:
输入调度名称,选择执行该调度的方式。
点击“更改”按钮还有更多的选项。
如图所示:
如果希望作业执行后,发送更多的通知,可以点击“通知”选项卡。
一般来说,这里保持默认即可。
点“确定”保存作业。
如图所示:
最终效果如图:
这样,我们就添加了一个能定时清除SQLServer数据库日志的作业。
以上操作在Win2003+MS SQLServer2000下测试通过。
5.设置为自动收缩
企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"。
清理SQL Server数据库日志的两种方法
清理SQL Server数据库日志的两种方法sql server数据库使用时间长了,日志文件会很大,占用过多系统资源,数据库可能会报 log full 的错误,甚至磁盘空间占满让数据库处于不可用状态,这个时候我们需要清理数据库,以前有人开发了数据库日志清理工具,好像还要收费,其实很简单就可以完成这个操作,请跟我来:清理sql server数据库日志可用两种方法:方法一:清空日志。
1、打开查询分析器,输入命令DUMP TRANSACTION 数据库名 WITH NO_LOG2、再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至: ,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。
方法二:有一定的风险性,因为SQL SERVER的日志文件不是即时写入数据库主文件的,如处理不当,会造成数据的损失。
1、删除LOG分离数据库企业管理器->服务器->数据库->右键->分离数据库2、删除LOG文件附加数据库企业管理器->服务器->数据库->右键->附加数据库此法生成新的LOG,大小只有500多K。
注意:建议使用第一种方法。
如果以后,不想要它变大。
SQL2000下使用:在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。
或用SQL语句:alter database 数据库名 set recovery simple另外,数据库属性有两个选项,与事务日志的增长有关:Truncate log on checkpoint(此选项用于SQL7.0,SQL 2000中即故障恢复模型选择为简单模型)当执行CHECKPOINT 命令时如果事务日志文件超过其大小的70% 则将其内容清除在开发数据库时时常将此选项设置为True定期对数据库进行检查当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25% 当文件大小没有超过其建立时的初始大小时不会缩减文件缩减后的文件也必须大于或等于其初始大小对事务日志文件的缩减只有在对其作备份时或将 Truncate log on checkpoint 选项设为True 时才能进行。
如何清理SQL Server中的事务日志
内部技术资料如何清理SQL Server中的事务日志第1页目录第一章如何手动清理数据库的事务日志 (3)1.1 运行SQL Server 2000中的工具“查询分析器” (3)1.2 加载SQL语句 (4)1.3 执行SQL语句 (6)第二章如何自动清理数据库的事务日志 (8)2.1 运行SQL Server 2000 “企业管理器”中的“SQL Server 代理” (8)2.2 新建一个“作业” (9)2.3 设定“作业”的执行内容 (10)2.4 设定“作业”的执行周期 (13)注:⏹SQL Server数据库在使用过程中,日志文件会不断增大,日志文件一旦过大会造成系统性能的明显下降,故,在使用过程中,按照下列方法可以清理日志文件。
⏹本文中的SQL Server数据库以某项目上正在使用的数据库为例。
该数据库进行大量的数据交换,事务日志文件平均每天增加5~10Mb。
⏹本文中所有的操作均在服务器端进行,操作系统为Microsoft Windows 2000Server,SQL Server的版本为Microsoft SQL Server 2000 Enterprise Edition。
数据库有两个,名称为JDDW3800和JDDW3800Para。
⏹本文中针对数据库的清理操作仅针对数据库JDDW3800,而不包括JDDW3800Para。
如果需要清理数据库JDDW3800Para,请仿照本文进行操作。
⏹在本文中,清理数据库JDDW3800的SQL文件名称为“LogShrink_JDDW3800.sql”,清理数据库JDDW3800Para的SQL文件名称为“LogShrink_JDDW3800Para.sql”。
⏹在本文中SQL Server实例的名称为“SPRINY”。
第一章如何手动清理数据库的事务日志手动清理事务日志的总体步骤如下:1)运行SQL Server 2000中的工具“查询分析器”。
SQL SERVER清除日志的四种方法
EXEC (@TruncLog)
END
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)
AND (@OriginalSize * 8 /1024) > @NewSize
BEGIN -- Outer loop.
SELECT @Counter = 0
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT
USE tablename -- 要操作的数据库名
SELECT @LogicalFileName = 'tablename_log', -- 日志文件名
DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
清理 sql server 数据库日志的几种方法
清理 SQL Server 数据库日志的几种方法随着企业数据量的不断增加,数据库的日志文件也会随之增长。
数据库日志文件的不断增长会消耗大量磁盘空间,甚至会影响数据库的性能。
定期清理数据库日志是数据库管理的一个重要环节。
本文将介绍清理 SQL Server 数据库日志的几种方法,帮助数据库管理员解决数据库日志文件过大的问题。
一、备份事务日志1. 利用 SQL Server Management Studio (SSMS) 进行备份通过使用 SSMS,可以进行数据库事务日志的定期备份。
在 SSMS 中选择要备份的数据库,右键点击“任务”->“备份”,在备份类型中选择“仅事务日志”,即可完成事务日志的备份。
2. 利用 T-SQL 命令进行备份在 SQL Server 中,可以通过使用 T-SQL 命令进行事务日志的备份。
例如:```BACKUP LOG [数据库名] TO DISK = '备份文件路径' WITH NOFORMAT, NOINIT, NAME = '备份名称', SKIP, NOUNLOAD, STATS = 10```通过上述两种备份方式,可以定期备份数据库的事务日志,避免日志文件过大。
二、修改日志文件的增长方式1. 修改日志文件增长的百分比在数据库管理中,可以通过修改数据库的日志文件的增长百分比来控制日志文件的增长。
通过减小增长百分比,可以减缓日志文件的增长速度,从而减少磁盘空间的消耗。
2. 修改日志文件的增长大小除了修改增长百分比外,还可以通过修改日志文件的增长大小来控制日志文件的大小。
将增长大小设置为一个合适的值,可以避免日志文件过大,减少磁盘空间的占用。
三、截断事务日志1. 利用 SQL Server Management Studio (SSMS) 进行截断通过使用 SSMS,可以对数据库的事务日志进行截断。
在 SSMS 中选择要截断的数据库,右键点击“任务”->“收缩”->“文件”,选择要收缩的文件类型为“日志”,即可完成事务日志的截断。
SQLServer快速清除日志文件的方法
SQLServer快速清除日志文件的方法SQLServer2000快速清除日志文件的方法SQLServer2000数据库日志太大!如何清理SQLServer2000的日志呢?如何压缩SQLServer2000的日志呢?如何让SQLServer2000的日志变小呢?1、点几下鼠标,用SQLServer2000管理工具中的企业管理器即可实现,待会儿详解;2、用SQL语句,在SQLServer2000管理工具中的查询分析器可以实现,此法高级人士喜欢用;3、用第三方工具实现,原理嘛,我觉得应该是用SQL语句来实现的,这方法好,简单易用,网上不乏精品工具,待会儿介绍一款。
一、现在我们详细描述一下如何用企业管理器清理SQL2000的日志:1、打开企业管理器,右击要处理的.数据库--》属性--》选项--》故障还原,选“简单”--》确定。
如图:2、右击要处理的数据库--》所有任务--》收缩数据库--》什么也不动,默认第一个是0%,其它两个未选中,点确定--》如果您以前数据库日志文件大于1M那么现在再看看,是不是只有1M了呢。
3、操作完后--》按第一步,把“故障还原”,选“完全”,传说中SQLServer2000有自动还原功能,说是如果非法关机等因素造成数据丢失可以自动回滚,另外可以用程序来实现操作回滚,所以最好是让故障还原是“完全”。
4、这样便实现了“SQLServer2000数据库日志太大!如何管理,清除,变小,压缩它”中的清除,变小,压缩了,至于怎么管理,自己看着办吧,我一般只会用到这些,再有深入研究的话我会写上来的。
我喜欢用SqlServer日志清除专家v3.5来实现这个功能。
界面如下:数据库那里一般会将整个服务器的数据库名都列举出来,需要选择为自己账户能管理到的那个,我这里DB_iszip账户能管理的是iszip,选择好之后,点“清除日志”按钮,然后SQLServer2000的日志就被清理好了,此时你去服务器看你数据库日志占用空间就只有1M了。
SQL Server 2008 日志文件清除操作步骤
SQL Server 2008 日志文件清除操作步骤:
一、登录SQLServere企业管理器
二、选中需要日志清除的数据库,打开清除日志的SQL脚本文件,执行选中的蓝色阴影部分代码,数据库将在“简单模式”下进行清除日志动作。
(圈内改成相应的数据库名、日志文件名)
三、如不清楚日志文件名可执行涂色选中部分这段代码查询
四、执行完清除日志后将数据库还原为“完全模式”
五、SQL代码
-- 在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。
USE[master]
GO
ALTERDATABASE ChinaLZY SETRECOVERYSIMPLEWITH NO_WAIT
GO
ALTERDATABASE ChinaLZY SETRECOVERYSIMPLE--简单模式
GO
USE ChinaLZY
GO
DBCC SHRINKFILE(N'Amodel_log', 11,TRUNCATEONLY)
GO
-- '这里的Amodel_Log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查
USE ChinaLZY
GO
SELECT file_id,name FROM sys.database_files;
GO
--还原为完全模式
USE[master]
GO
ALTERDATABASE ChinaLZY SETRECOVERYFULLWITH NO_WAIT
GO
ALTERDATABASE ChinaLZY SETRECOVERYFULL--还原为完全模式
GO。
多方法清理SQL server日志
多方法清理SQL Server日志1.手动清理1. 将恢复模式改成“简单”右键要清理的数据库名-属性,切换到选项,将恢复模式修改为简单,如下图1,然后点确定。
2、收缩日志还是右键要清理的数据库名—任务—收缩—文件,按如图2进行设置,设置完后点确定即可3.清理完手动恢复完整模式二、自动清理(使用SQL代理定时执行清理任务)1、新建作业如下图3,我们右键作业—新建作业即可开始新建一个作业了USE [master]GOALTER DATABASE 数据库名称SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE 数据库名称SET RECOVERY SIMPLE --简单模式GOUSE 数据库名称GODBCC SHRINKFILE (N'DEMO_log' , 1, TRUNCATEONLY)--将数据库日志文件收缩到1MGO------DEMO_LOG是日志文件名称,可以新建查询用select * from sys.database_files查看USE [master]GOALTER DATABASE 数据库名称SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE 数据库名称SET RECOVERY FULL --还原为完全模式GO三、新建维护计划定时清理1.维护计划向导2.选择维护任务3.选择需要收缩的数据库之后,下一步至完成4.视图--工具箱--把执行I-SQL语句拉到右窗品--把收缩数据库箭头关联至“执行T-sql语句”5.双击“执行T-SQL语句”任务,打开对话框键入语句5.记得编辑“新建作业计划”。
SQL Server 2005数据库定期备份和删除历史备份记录
一、SQL Server 2005数据库定期备份SQLServer2005的定期备份是通过创建―维护计划‖来实现的。
主要有两种方式:1、维护计划向导。
2、新建维护计划(用户手工创建)如果想在SQLServer2005中使用维护计划来设计维护备份数据库任务时,有一个前提条件:―SQL Server 代理‖服务必须是启用状态首先介绍使用维护计划向导来执行数据库的定期备份操作过程:1、单击:开始→程序→Microsoft SQL Server 2005→“SQL Server Management S tudio”(图1)图12、右键单击:SQL Server 代理→启动(注:要执行维护计划,SQL Server 代理必须启动!)3、右键单击:管理→维护计划→维护计划向导,单击“下一步”(图2)图24、在“选择目标服务器”窗口,依次设置“名称”、“服务器”、“身份验证”等信息,单击“下一步”(图3),图3说明:身份验证:安装sqlserver2005时采用的验证方式5、在“选择维护任务”窗口,选择准备执行的任务,单击“下一步”(图4)图4说明:1) 在维护任务列表中勾选需要执行的任务,可多选2) 下方黄色区域针对选择的每项任务加以说明6、在“选择维护任务顺序”窗口,可以调整每项任务的执行顺序,单击“下一步”(图5)图5说明:1) 调整多个任务的先后执行顺序可通过上移和下移来实现7、在“定义备份数据库(完整)任务”窗口,勾选需要备份的数据库名称,单击下一步(图6)图6图7说明:1) 选择将备份文件备份到磁盘上2) 指定备份文件存放的文件夹和位置3) 勾选―验证备份完整性‖8、在“选择计划属性”窗口,单击“更改”按钮打开“新建作业计划窗口”,设置好各项参数后单击“确定”按钮(图8)图8说明:1) 设置好各项参数后,在摘要说明栏中叙述了本次作业的详细内容9、再次回到“选择计划属性”窗口,单击下一步(图9)图910、在“选择报告选项”窗口,设置报告的保存或分发方式,单击下一步(图10)图1011、显示本次维护计划的详细信息,单击完成(图11)至此,SQL Server 2005采用维护计划即可以达到定期备份数据库的目的。
SQLSERVER清除日志的四种方法
SQLSERVER清除日志的四种方法SQL Server是一种关系型数据库管理系统,它将数据存储在表格中,并使用结构化查询语言(SQL)来管理和操作这些数据。
在SQL Server中,日志文件用于记录数据库的各种操作,包括插入、更新和删除数据的操作。
随着时间的推移,日志文件可能会变得庞大,导致数据库性能下降。
为了解决这个问题,SQL Server提供了多种方法来清除日志。
1.使用备份和恢复备份和恢复是清除日志的最常用方法之一、通过定期备份数据库并将日志截断,可以清除日志文件并释放空间。
备份可以选择完整备份、差异备份或增量备份。
完整备份将整个数据库备份到一个文件中,差异备份将备份自上次完整备份以来发生更改的部分,增量备份则只备份自上次备份以来发生更改的部分。
备份完成后,可以通过将数据库设置为简单恢复模式或完全恢复模式来截断日志,以释放日志空间。
2.使用事务日志管理SQL Server提供了事务日志管理功能,可以帮助清除日志。
通过调整事务日志的大小和日志增长的百分比,可以限制日志文件的增长。
可以使用以下命令来管理事务日志大小和增长:- ALTER DATABASE <database_name> SET RECOVERY SIMPLE:将数据库设置为简单恢复模式,该模式只保留最近的日志信息,并定期截断日志。
- ALTER DATABASE <database_name> MODIFY FILE (NAME =<log_file_name>, SIZE = <new_size>):调整日志文件的大小。
- ALTER DATABASE <database_name> MODIFY FILE (NAME =<log_file_name>, FILEGROWTH = <new_growth>):调整日志文件的增长百分比。
3.使用事务日志备份和清除除了备份和恢复,SQL Server还提供了事务日志备份和清除功能。
sqlserver 清理日志语句
sqlserver 清理日志语句
摘要:
1.引言
2.SQL Server 日志简介
3.清理日志的重要性
4.SQL Server 清理日志的语句
5.总结
正文:
SQL Server 清理日志语句是每个数据库管理员都需要掌握的技能之一。
在SQL Server 中,日志文件是记录数据库操作的重要文件,包括所有对数据库的更改,如数据插入、更新、删除等操作,以及数据库管理员执行的所有SQL 语句。
随着时间的推移,日志文件会变得越来越大,导致数据库性能下降。
因此,定期清理日志文件是维护数据库的必要步骤。
SQL Server 提供了多种清理日志的语句,其中最常用的是`DBCC SQLPERF`和`DBCC LOGINFO`。
`DBCC SQLPERF`用于清理数据库性能计数器,而`DBCC LOGINFO`用于查看日志文件的信息。
使用`DBCC SQLPERF`清理日志文件的语句如下:
```
DBCC SQLPERF("LOGSPACE", "数据库名", NULL, NULL)
```
使用`DBCC LOGINFO`查看日志文件的信息的语句如下:
```
DBCC LOGINFO(数据库名)
```
在执行这些语句之前,需要先备份数据库,以防止清理操作对数据库造成不可逆的损害。
总结起来,SQL Server 清理日志语句是维护数据库的重要步骤。
通过定期清理日志文件,可以提高数据库性能,保证数据库的稳定性和可靠性。
