SQLServer数据库日志太大收缩操作指南
S Q L S e r v e r数据库日志太大收缩操作指南
Submitted By Weaver
Weaver Software
上海市闵行区浦江镇联航路1188号
浦江智谷33号楼泛微软件大厦
邮政编码:200127
电话:+86 21 50942228
传真:+86 21 50942278
文档版本控制
文档简要信息:
文档主题(Title) SQLServer数据库日志太大收缩操作指南
作者(Author) 系统架构部-邹茂林
审批者(To Be Approved By)
说明(Comments) SQLServer数据库日志太大收缩操作指南
文件名称(File Name)
文档版本历史:
序号日期版本变更说明创建人审批人注释1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
目录
文档版本控制 (1)
1.1如下图,点击连接登陆数据库 (4)
1.2如下图,打开数据库属性窗口 (5)
1.3如下图,更改数据库恢复模式 (6)
1.4如下图,收缩数据库日志 (7)
1.5如下图,数据库恢复模式修改为完整 (8)
1.1 如下图,点击连接登陆数据库
1.2 如下图,打开数据库属性窗口
1.3 如下图,更改数据库恢复模式
1.4 如下图,收缩数据库日志
到这里已经完成了,数据库的日志收缩
1.5 如下图,数据库恢复模式修改为完整至此,收缩完成。
Submitted by Weaver。
关于SQLServer压缩日志及数据库文件大小整理
让知识带有温度。
关于SQLServer压缩日志及数据库文件大小整理
关于SQL Server压缩日志及数据库文件大小
请按步骤进行,未进行前面的步骤时,请不要做后面的步骤,以免损坏你的数据库.
一般不建议做第4,6两步,第4步担心全,有可能损坏数据库或丢失数据。
第6步假如日志达到上限,则以后的数据库处理睬失败,在清理日志后才能恢复。
1.清空日志
DUMP TRANSACTION 库名WITH NO_LOG
2.截断事务日志
BACKUP LOG 数据库名WITH NO_LOG
3.收缩数据库文件(假如不压缩,数据库的'文件不会减小
企业管理器--右键你要压缩的数据库--全部任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
也可以用SQL语句来完成
第1页/共2页
千里之行,始于足下。
--收缩数据库
DBCC SHRINKDATABASE(客户资料)
--收缩指定数据文件,1是文件号,可以通过这个语句查询到:
select * from sysfiles
DBCC SHRINKFILE(1)
4.为了最大化的缩小日志文件(假如是sql 7.0,这步只能在查询分析器中进行)
a.分别数据库:
企业管理器--服务器--数据库--右键--分别数据库
b.在我的电脑中删除LOG文件
文档内容到此结束,欢迎大家下载、修改、丰富并分享给更多有需要的人。
第2页/共2页。
SQL Server 2008 R2 日志收缩处理方法
SQL Server 2008 R2 日志收缩数据库日志文件收缩方法一:1、将数据库恢复模式改为简单模式,右击数据库选择属性,弹出窗口如下图,选择“选项”,将“恢复模式”改为“简单”。
2、右击数据库如下图选择,打开“收缩文件”窗口3、收缩文件窗口如下图,“文件类型”选择“日志”,单击“确定”完成日志收缩。
数据库日志文件收缩方法二:在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。
SQL代码如下(用指定数据库名替换DNName):USE MASTERGOALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE DNName SET RECOVERY SIMPLE--简单模式GOUSE DNNameGODBCC SHRINKFILE (N'DNName_Log',11, TRUNCA TEONL Y)GOUSE MASTERGOALTER DATABASE DNName SET RECOVERY FULL WITH NO_W AITGOALTER DATABASE DNName SET RECOVERY FULL--还原为完全模式GO优点:此清除日志所运行消耗的时间短,90GB的日志在分钟左右即可清除完毕,做完之后做个完全备份在分钟内即可完成。
缺点:不过此动作最好不要经常使用,因为它的运行会带来系统碎片。
普通状态下LOG 和DIFF的备份即可截断日志。
此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响系统的情况下使用。
数据库日志文件收缩方法三:通过分离数据库,然后再删除事务日志文件,再附加mdf数据文件,也可以达到某种意义上的事务日志收缩。
总结:建议资讯同事用方法一来收缩日志,另外需求把日志文件增长方式按如下图来设置,将日志文件选择按MB来增长(目前正式账套F22X库已经设置OK);。
收缩SQL数据库的方法
收缩SQL数据库的方法
收缩SQL数据库的方法
一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大
1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择
你的'数据库名称(如论坛数据库Forum)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存
2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定
3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据。
SQL2024数据库日志太大收缩方法
SQL2024数据库日志太大收缩方法在数据库中,日志文件记录了数据库的所有修改操作,包括数据更新、插入和删除。
随着时间的推移,日志文件可能会变得非常庞大,这可能会导致数据库性能下降和存储空间的过度使用。
为了解决这个问题,可以采取以下步骤来收缩SQL Server 2024数据库的日志文件。
1.备份日志文件:首先,您需要确保数据库的日志文件已经进行了备份。
通过备份日志文件,可以将日志中的事务信息保存到备份中,并允许数据库截断未使用的事务日志。
2.更改恢复模式:如果数据库处于完整恢复模式或大容量恢复模式下,可以将恢复模式更改为简单恢复模式。
这样做可以使日志文件更容易自动收缩,并释放空间。
3.执行事务日志的截断:可以通过执行CHECKPOINT语句或DBCC命令来截断事务日志。
CHECKPOINT语句将强制将内存中的修改写入磁盘,并将事务日志截断到CHECKPOINT之前的位置。
DBCC命令允许您手动截断事务日志。
4.缩小日志文件:使用DBCCSHRINKFILE命令缩小数据库的日志文件。
该命令将尝试将日志文件的物理大小收缩到适当的大小,以节省存储空间。
但请注意,缩小日志文件可能会造成数据库性能下降,因此需要谨慎使用。
5.定期维护计划:建立定期维护计划,包括备份和收缩日志文件的任务。
通过定期备份和收缩日志文件,可以确保数据库的日志文件始终保持在合理的大小范围内,避免过度使用存储空间。
6.监控日志文件:持续监控数据库的日志文件,以确保它不会再次变得过大。
如果发现日志文件再次过大,可以立即采取适当的措施来收缩日志文件。
需要注意的是,在执行以上操作之前,应该先备份数据库,并确保具有足够的磁盘空间来存储备份和缩小的日志文件。
此外,建议在操作数据库之前,先在测试环境中测试这些操作,以确保不会对生产环境中的数据库造成任何不可回滚的影响。
总之,通过备份、更改恢复模式、截断事务日志、缩小日志文件和建立定期维护计划,可以有效地收缩SQL Server 2024数据库的日志文件,并确保数据库的性能和存储空间的合理使用。
sqlserver数据库收缩步骤
sqlserver数据库收缩步骤数据库收缩是一种优化数据库性能和空间利用的操作,它通过重新组织数据文件和索引,从而减少磁盘空间的使用,提高查询和存储性能。
以下是SQL Server数据库收缩的一般步骤。
步骤1:备份数据库在进行任何数据库操作之前,备份数据库是一个必要的安全措施,以防止数据丢失或操作错误导致的问题。
使用SQL Server Management Studio(SSMS)或命令行工具(如SQLCMD或PowerShell)执行完整数据库备份。
步骤2:索引分析在收缩数据库之前,需要对数据库进行索引分析,以确定是否存在不必要的或重复的索引。
可以使用SQL Server Management Studio的“索引优化向导”或自定义查询来执行索引分析。
步骤3:重建和重新组织索引根据索引分析的结果,可以选择重建或重新组织索引。
重建索引将需要更多的时间和磁盘空间,但可以最大程度地提高查询性能。
重新组织索引需要较少的时间和磁盘空间,但性能提升的效果较弱。
使用以下命令执行索引重建:```sqlALTERINDEX[索引名]ON[表名]REBUILD```使用以下命令执行索引重新组织:```sqlALTERINDEX[索引名]ON[表名]REORGANIZE```步骤4:收缩数据库文件对于在线进行的数据库,可以使用以下命令来缩小数据库文件:```sqlDBCCSHRINKDATABASE([数据库名])```对于离线的数据库,可以使用以下命令来缩小数据库文件:```sqlDBCCSHRINKFILE([数据库文件名])```收缩数据库文件可能需要一段时间,具体取决于数据库的大小和硬件性能。
在收缩数据库文件之前,可以使用以下命令来查看文件的当前大小:```sqlSELECT name, size/128.0 AS CurrentSizeMBFROM sys.database_files;```步骤5:重新索引在完成数据库文件的收缩后,由于数据文件的重新组织和索引重建,索引可能会变得非常稀疏。
SQL SERVER 收缩事务日志
收缩事务日志--压缩事务日志。
删除日志日志—将原来过大的事务日志保存后将其分离删除,新的事务日志创建后其大小为50KB左边。
方法一、收缩数据库事务日志(T-SQL语句操作)
1.更改数据库恢复模式的命令如下(通常情况下,日志没有被收缩都是因为日志文件未被截断造成的。
还有一个办法是把将数据库恢复模式设置为“ SIMPLE ”模式后再次)如图1 ALTERDATABASE 数据库名 SET RECOVERYFULL;--更改为完全模式
ALTERDATABASE 数据库名 SET RECOVERY bulk_logged ;--更改为大容量日志模式ALTERDATABASE数据库名SET RECOVERY simple; --更改为简单模式
执行效果如图所示
注意事项:如果更改为简单模式,那以后将无需事物日志备份,但是一定要确保的定期执行数据
库备份来确保数据的完整性。
如果更改为完整模式或者大容量日志模式,那一定首先进行一次完整的数据库备份以启动日志链,并且设置任务计划来定期的日志备份
在事物日志进行截断之后,那我们就可以把日志文件进行收缩
可以使用DBCC SHRINKFILE使用命令进行收缩
下图是把以下示例将 test用户数据库中名为test_log的数据文件的大小收缩到 10 MB。
执行完命令后查看日志文件是否缩小,日志文件收缩后不会比虚拟日志文件小
收缩数据库命令
?
? 也可以用
SQL
语句来完成 ---- alter database AdeventureWroks2012 set recovery simple; (simple 简单模式,
full完整模式,bulk_logged大容量日志)。
sqlserver收缩数据库文件
SQL SERVER 数据库日志已满,如何收缩数据库日志
如何收缩数据库日志
3.右键-任务-收缩-数据库
/*****************************/
转载:https:///dqs78833488/article/details/51322000
在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事 务日志,命令如下: - 第一步:清空日志
在sqlserver中经常遇到事务日志变大的情况除了将数据库设置为自动Байду номын сангаас缩外还可以使用下面的sql命令进行快速清除数据库中的事务日志命令如下
sqlserver收 缩 数 据 库 文 件
/******************************/
1.右键-属性-选项-简单模式
2.右键-任务-收缩-文件
DUMP TRANSACTION databasename WITH NO_LOG
-- 第二步:截断事务日志
BACKUP LOG databasename WITH NO_LOG
-- 第三步:收缩数据库
DBCC SHRINKDATABASE(databasename)
需要说明几点: 1. 上面的SQL命令需要按照顺序执行; 2. 执行上面的命令通常比直接使用右键菜单中的“收缩”命令要快很多
sqlserver数据库收缩步骤
sqlserver数据库收缩步骤数据库收缩是指将数据库中的空间回收和重新组织,以便提高性能和节省磁盘空间。
以下是SQL Server数据库收缩的步骤:1.首先,运行`DBCCSHRINKDATABASE`命令来收缩整个数据库。
该命令将尝试压缩数据库文件并释放未使用的空间。
语法如下:```DBCC SHRINKDATABASE (database_name)```其中,`database_name`是要收缩的数据库的名称。
2.默认情况下,`DBCCSHRINKDATABASE`将尝试将数据库缩小到其实际大小。
但是,如果你希望将数据库缩小到指定的大小,可以使用`TARGET_SIZE`选项。
例如,要将数据库缩小到100MB大小,可以执行以下命令:```DBCC SHRINKDATABASE (database_name, 100)```3.收缩数据库过程可能会造成数据库锁定,因此在收缩数据库之前应考虑该数据库的使用情况。
如果数据库正在被频繁使用,可能需要在低峰时间进行收缩操作。
4.收缩数据库期间,可以将进度信息输出到消息窗口。
要启用此选项,可以使用`WITHNO_INFOMSGS`选项。
例如:DBCC SHRINKDATABASE (database_name) WITH NO_INFOMSGS```5.如果只需要收缩特定的表或索引,可以使用`DBCCSHRINKFILE`命令。
该命令用于收缩特定文件(数据文件或日志文件),而不是整个数据库。
语法如下:```DBCC SHRINKFILE (file_name, target_size)```6. `DBCC SHRINKFILE`命令中的`file_name`参数可以指定要收缩的文件的名称。
可以通过查询`sys.database_files`系统视图或使用SQL Server Management Studio(SSMS)查看文件名称。
7.使用`DBCCSHRINKFILE`命令收缩数据库文件时,可以将文件缩小到其实际大小,或者指定目标大小。
sqlserver日志文件太大解决方法
sqlserver⽇志⽂件太⼤解决⽅法当SQL数据库⽇志⽂件已满,或者⽇志很⼤,就需要压缩⽇志及数据库⽂件:1.清空⽇志 DUMP TRANSACTION 库名 WITH NO_LOG2.截断事务⽇志: BACKUP LOG 数据库名 WITH NO_LOG3.收缩数据库⽂件(如果不压缩,数据库的⽂件不会减⼩ 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩⽂件 --选择⽇志⽂件--在收缩⽅式⾥选择收缩⾄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.分离 E X E C sp_detach_db @dbname = "pubs" b.删除⽇志⽂件 c.再附加 E X E C sp_attach_single_file_db @dbname = "pubs", @physname = "c:Program FilesMicrosoft SQL ServerMSSQLDatapubs.mdf"5.为了以后能⾃动收缩,做如下设置: 企业管理器--服务器--右键数据库--属性--选项--选择"⾃动收缩" --SQL语句设置⽅式: E X E C sp_dboption "数据库名", "autoshrink", "TRUE"6.如果想以后不让它⽇志增长得太⼤ 企业管理器--服务器--右键数据库--属性--事务⽇志 --将⽂件增长限制为xM(x是你允许的最⼤数据⽂件⼤⼩) --SQL语句的设置⽅式: alter database 数据库名 modify file(name=逻辑⽂件名,maxsize=20)特别注意: 请按步骤进⾏,未进⾏前⾯的步骤,请不要做后⾯的步骤 否则可能损坏你的数据库. ⼀般不建议做第4,6两步 第4步不安全,有可能损坏数据库或丢失数据 第6步如果⽇志达到上限,则以后的数据库处理会失败,在清理⽇志后才能恢复.SQL Server 如何设置数据库的默认初始⼤⼩和⾃动增长⼤⼩sqlserver2008⽇志已满解决⽅法,SQL Server 如何设置数据库的默认初始⼤⼩和⾃动增长⼤⼩1、数据库右键属性-选项-恢复模式-下拉选择简单-最后点击确定2、右键数据库-任务-收缩-⽂件类型-下拉选择⽇志-收缩操作-在释放未使⽤…(默认收缩到1MB)-最后点击确定3、最后别忘了回到第⼀步骤把恢复模式改为完整!我们在SQL Server中新建数据库的时候,可以选择数据库⽂件及⽇志⽂件的初始⼤⼩、⾃动增长⼤⼩和最⼤⼤⼩,如下图所⽰:可以通过设置更改数据库初始⼤⼩、⾃动增长⼤⼩和最⼤⼤⼩:但是其实在SQL Server中新建数据库时,数据库的初始⼤⼩、⾃动增长⼤⼩和最⼤⼤⼩的默认值,是可以在model这个系统数据库上预设的。
SQLServer数据库日志收缩
SQL Server数据库日志压缩注意事项数据库压缩有以下章节描述的3种方法,在使用任意方法时,请注意以下事项:在执行操作前,先备份数据库;所需操作的数据库不能有任何数据库连接,不能有查询窗口、Tomcat服务连接等;下文描述的所有SQL语句都必须在系统master数据库执行;下文描述中的YouDBName为将进行数据库压缩的数据库名;DBCC压缩数据库第一步:在master数据库上执行SQL:backup log YouDBName with no_log;第二步:收缩DB的所有数据和日志文件,执行以下SQL:dbcc shrinkdatabase (YouDBName);卸载数据库重新注册第一步:卸除DB在MSSQL中的注册信息,执行以下SQL:exec sp_detach_db yourDBName,true;第二步:到DB日志物理文件所在的目录中去删除日志文件或将日志文件移出目录;第三步:执行以下SQL:exec sp_attach_single_file_db yourDBName,'d:\mssql\data\yourDBName_data.mdf '说明:以单文件的方式注册该DB,MSSQL自动为这个DB生成一个500K的日志文件,mdf文件的物理路径以现实情况为准。
分离数据库重新附加第一步:进入企业管理器,选中需处理数据库;第二步:右键所有任务->分离数据库;第三步:到数据库文件的存放目录,将yourDBName _log.LDF文件删除;第四步:右键企业管理器->附加数据库,选择yourDBName.mdf文件,并移除(remove) yourDBName_log.ldf选项,如图:第五步:点击“确定(OK)”,MSSQL自动为DB生成一个500K的日志文件。
