SQL Server 2005删除日志文件的几种方法
使用MS数据库【shù jù kù】的【de】💧朋友就会知道一【yī】个问题,C盘的【de】空间🕤很容易被占满【bèi zhàn mǎn】了。因为本来系统盘就分🔐区比较【qū bǐ jiào】小,这是由于数据🍣库在使【kù zài shǐ】用过程中会使【zhōng huì shǐ】日志文【rì zhì wén】件不断增加👾,使得数【shǐ dé shù】🤲据库的【de】💧性能下降【jiàng】✨,并且占用大量🎁的【de】磁盘⛳空间🕤。SQL Server数据库【shù jù kù】🍗都有log文件【wén jiàn】,log文件【wén jiàn】记🕖录用户对数据库【shù jù kù】🍗修改的【de】操作。可以通【kě yǐ tōng】过直接【guò zhí jiē】😰删除【shān chú】🛫log文件和【wén jiàn hé】清空日志【rì zhì】在清🤝除数据库【shù jù kù】🍗日志【rì zhì】。
一【yī】、删除【shān chú】🛫LOG
1、分离数据库【shù jù kù】🍗。分离数据库【shù jù kù】之🔗前一定【qián yī dìng】要做好数据库【shù jù kù】的【de】💧全备份【quán bèi fèn】,选择数🆔据库🍗——右键——任务——分离。
勾选删除连接
分离后【fèn lí hòu】♿在数据库✏列表将看不到【kàn bú dào】已分离的数【de shù】😽据库✏。
2、删除LOG文件
3、附加数据库【jù kù】,附加的【fù jiā de】时候会🏖提醒找【tí xǐng zhǎo】不到👠log文件🌼。
删除数据库信息信息的ldf文件:
附加数【fù jiā shù】据库之🐌后将生成新的日【xīn de rì】志文件😮log,新的日【xīn de rì】志文件😮的大小🌴事【shì】504K。
也可以通过命令才完成以上的操作:
use master;
exec sp_detach_db @dbname='TestDB';
exec sp_attach_single_file_db @dbname='TestDB',@physname='D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\TestDB.mdf'
二【èr】🤑、清空日志
该命令😡在【zài】SQL Server 2005和【hé】🛐2000支持,SQL Server 2008不支持该命令😡。
DUMP TRANSACTION TestDB WITH NO_LOG
三🏳、收缩数【shōu suō shù】据库文【jù kù wén】🌁件
DBCC SHRINKFILE ('TestDB_log',1)
四🐲、截断事务日志【wù rì zhì】
BACKUP LOG TestDB WITH NO_LOG
该命令🈯在【zài】SQL Server 2008也是不🌱支持,在【zài】SQL Server 2005和2000可以使🏮用【yòng】。
清除【qīng chú】SQLServer2005的🏥LOG文件
--最好备份日志【zhì】🔂,以后可➡通过日志【zhì】🔂恢复✍数🎫据。。。 以下为🦓日志【zhì】🔂处理方法 一般不建议做【jiàn yì zuò】🌀第【dì】🚺4,6两步【liǎng bù】♒ 第【dì】🚺4步不安【bù bú ān】🍄全【quán】,有可能损坏数【sǔn huài shù】据库【jù kù】🕜或丢失数🎫据 第【dì】🚺6步如果日志【zhì】达🍳到上限【dào shàng xiàn】,则以后的数据【de shù jù】🌃库处理【kù chù lǐ】🏢会失败【huì shī bài】,在清理日志【zhì】🔂后才能恢复✍. --*/ --下面的🕜所有库【suǒ yǒu kù】名🚻都指你要处理【yào chù lǐ】的数据【de shù jù】🌃库【kù】📪的库名【kù míng】🚻 1.清空日【qīng kōng rì】志【zhì】🔂 DUMP TRANSACTION 库名【kù míng】🚻 WITH NO_LOG 2.截断事务日志【zhì】📡: BACKUP LOG 库名【kù míng】🚻 WITH NO_LOG 3.收缩数😔据库【jù kù】🍀文件(如果不🕯压缩【yā suō】🤪,数据库【shù jù kù】🕜的文件🥧不会减小 企业管【qǐ yè guǎn】💚理器【lǐ qì】🍃--右键【yòu jiàn】☕你要压缩【yā suō】🤪的数据【de shù jù】🌃库【kù】📪--所有任【suǒ yǒu rèn】务--收缩数😔据库【jù kù】🍀--收缩文【shōu suō wén】件 --选择日志【zhì】🔂文件--在收缩【zài shōu suō】🕰方式里【fāng shì lǐ】⚡选择收【xuǎn zé shōu】🗳缩至🐾XXM,这里会【zhè lǐ huì】👜给出一【gěi chū yī】个允许【gè yǔn xǔ】收缩到【shōu suō dào】🦗的最小🌷M数🎫,直接输【zhí jiē shū】💑入这个【rù zhè gè】😉数🎫,确定就可以了【kě yǐ le】 --选择数🎫据文件【jù wén jiàn】--在收缩【zài shōu suō】🕰方式里【fāng shì lǐ】⚡选择收【xuǎn zé shōu】🗳缩至🐾XXM,这里会【zhè lǐ huì】👜给出一【gěi chū yī】个允许【gè yǔn xǔ】收缩到【shōu suō dào】🦗的最小🌷M数🎫,直接输【zhí jiē shū】💑入这个【rù zhè gè】😉数🎫,确定就可以了【kě yǐ le】 也可以用SQL语句来🔛完成 --收缩数😔据库【jù kù】🍀 DBCC SHRINKDATABASE(库名【kù míng】🚻) --收缩指定数【dìng shù】🎫据文件【jù wén jiàn】,1是文件【shì wén jiàn】号,可以通【kě yǐ tōng】⏪过这个【guò zhè gè】语句查【yǔ jù chá】询到🌸:select * from sysfiles DBCC SHRINKFILE(1) 4.为了最【wéi le zuì】大化的缩小日🐌志【zhì】🔂文件(如果是🛃sql 7.0,这步只【zhè bù zhī】能在查询分析【xún fèn xī】🎖器中进行【háng】) a.分离【lí】数据库【shù jù kù】🕜: 企业管【qǐ yè guǎn】💚理器【lǐ qì】🍃--服务器【fú wù qì】🐺--数据库【shù jù kù】🕜--右键【yòu jiàn】☕--分离【lí】数据库【shù jù kù】🕜 b.在我的电脑中【diàn nǎo zhōng】🐈删除LOG文件 c.附加数❎据库【jù kù】🍀: 企业管【qǐ yè guǎn】💚理器【lǐ qì】🍃--服务器【fú wù qì】🐺--数据库【shù jù kù】🕜--右键【yòu jiàn】☕--附加数❎据库【jù kù】🍀 此法将生成新的LOG,大小只有500多🍦K 或用代🚸码: 下面的🕜示例分🚝离【lí】 pubs,然后将 pubs 中的一【zhōng de yī】个文件【gè wén jiàn】附加到🅱当前服🧔务器。 a.分离【lí】 EXEC sp_detach_db @dbname = '库名【kù míng】🚻' b.删除日志【zhì】🔂文件 c.再附加 EXEC sp_attach_single_file_db @dbname = '库名【kù míng】🚻', @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\库名【kù míng】🚻.mdf' 5.为了以后能自【hòu néng zì】动收缩,做如下【zuò rú xià】设置【shè zhì】📅: 企业管【qǐ yè guǎn】💚理器【lǐ qì】🍃--服务器【fú wù qì】🐺--右键数【yòu jiàn shù】🕎据库【jù kù】🍀--属性😌--选项--选择"自动收缩" --SQL语句设置【shè zhì】📅方式【fāng shì】📸: EXEC sp_dboption '库名【kù míng】🚻', 'autoshrink', 'TRUE' 6.如果想以后不🌰让它日【ràng tā rì】志增长【zhì zēng zhǎng】🎑得太大 企业管【qǐ yè guǎn】💚理器【lǐ qì】🍃--服务器【fú wù qì】🐺--右键数【yòu jiàn shù】🕎据库【jù kù】🍀--属性😌--事务日志【zhì】📡 --将文件增长限制为xM(x是你允【shì nǐ yǔn】许的最【xǔ de zuì】大数🎫据文件【jù wén jiàn】大小) --SQL语句的设置【shè zhì】📅方式【fāng shì】📸: alter database 库名【kù míng】🚻 modify file(name=逻辑文📌件名🎮,maxsize=20)
SQL Server 数据库【shù jù kù】🕜使用时🎴间一长👇就会导【jiù huì dǎo】致👼Log文件逐渐变的庞大, 想备份【xiǎng bèi fèn】一下数据库【shù jù kù】🕜, 想发给谁都很【shuí dōu hěn】困难【kùn nán】
运行【háng】下面的🕜语句就可以 清到Log文件只剩下👈1M左右的空间.
DUMP TRANSACTION 数据库【shù jù kù】💍名【míng】 WITH NO_LOG
DBCC SHRINKDATABASE('数据库【shù jù kù】💍名【míng】',TRUNCATEONLY)
不重启【bú chóng qǐ】SQL服务【fú wù】,删除🐕SQLServer系统日🚷志
SQLServer的系统日志过【rì zhì guò】大【dà】,就会引【jiù huì yǐn】🎛起【qǐ】😇SQLServer服务器🚷无法启动等一系列问题【tí】。今天我【jīn tiān wǒ】💣遇到了这个问📟题【tí】,在网上搜索了一下【yī xià】📲,解决方法是删除就【chú jiù】 可以了🌋,可是当前的ErrorLog正在被SQL使用无法删除啊🛩,要删除🌵只能停【zhī néng tíng】🦋止【zhǐ】SQL服务器🚷,难道就没有别【méi yǒu bié】得办法了吗【le ma】?
回答是📴肯定的:使用以下存储过程:EXEC sp_cycle_errorlog
注释【zhù shì】
每次启🖌动【dòng】🦏 SQL Server 时,当前错误日【cuò wù rì】志重新命🥘名为 errorlog.1;errorlog.1 成为 errorlog.2,errorlog.2 成为 errorlog.3,依次类🍢推⏰。sp_cycle_errorlog 使您得以循环错误日【cuò wù rì】志文件,而不必【ér bú bì】🖐停止而👒后再启【hòu zài qǐ】动【dòng】🦏服务器【fú wù qì】。
关键词:SQL
阅读本文后您有什么感想? 已有 人给出评价!
- 1
- 0
- 0
- 0
- 0
- 0