SQL Server 压缩日志及数据库文件大小
请按步🔨骤进行【zhòu jìn háng】,未进行【wèi jìn háng】🛬前面的步骤【de bù zhòu】时👼,请不要做后面的步骤【de bù zhòu】,以免损坏你的😀数据库【shù jù kù】.
一般不建议做第【dì】4,6两步,第【dì】4步不安【bù bú ān】🤶全❓,有可能【yǒu kě néng】👫损坏数【sǔn huài shù】据【jù】库或丢失数据【jù】。第【dì】6步如果日志达🔬到上限,则以后的数据【jù】🆖库处理🌩会失败,在清理日志后才能恢【cái néng huī】🛀复【fù】📗。
1.清空日志
DUMP TRANSACTION 库名【kù míng】🌯 WITH NO_LOG
2.截断事务日志
BACKUP LOG 数据库【shù jù kù】名🎱 WITH NO_LOG
3.收缩数【shōu suō shù】据库文📔件(如果不🌱压缩【yā suō】,数据库的文件不会减小【xiǎo】🕢
企业管【qǐ yè guǎn】理器【lǐ qì】🔤--右键你要压缩的数据库🐴--所有任【suǒ yǒu rèn】🎼务--收缩数【shōu suō shù】🚧据库🐴--收缩文件
--选择日志文件【zhì wén jiàn】--在收缩方式里👥选择收缩至📪XXM,这里会【zhè lǐ huì】给出一个允许🗽收缩到【shōu suō dào】的最小【de zuì xiǎo】M数【shù】🎆,直接输【zhí jiē shū】入这个数【shù】🎆,确定就🥈可以了🐷
--选择数【shù】🙇据文件--在收缩🥫方式里选择收【xuǎn zé shōu】📯缩至🚄XXM,这里会【zhè lǐ huì】给出一个允许收缩到【shōu suō dào】的最小💊M数【shù】🍧,直接输【zhí jiē shū】入这个数【shù】🍧,确定就可以了
也可以用SQL语句来完成
--收缩数据库
DBCC SHRINKDATABASE(客户资👂料【liào】)
--收缩指🍜定数据【dìng shù jù】文件,1是文件🍒号【hào】,可以通【kě yǐ tōng】过这个🏳语句查询到:
select * from sysfiles
DBCC SHRINKFILE(1)
4.为了最大化的😡缩小日志文件【zhì wén jiàn】(如果是👙sql 7.0,这步只能在查询分析【xún fèn xī】器中进【qì zhōng jìn】🆙行)
a.分离数据库:
企业管【qǐ yè guǎn】🥩理器--服务器【fú wù qì】--数据库【jù kù】🖱--右键♟--分离数据库【jù kù】🖱
b.在我的电脑中删除LOG文件
c.附加数据库:
企业管🚉理器--服务器【fú wù qì】--数据库【shù jù kù】🈴--右键【yòu jiàn】🉐--附加数据库【shù jù kù】🈴
此法将【cǐ fǎ jiāng】生成新【shēng chéng xīn】的LOG,大小只有💊500多☕K
或用代码:
下面的【xià miàn de】😑示例分【shì lì fèn】离🐄 pubs,然后将 pubs 中的一🧙个文件【gè wén jiàn】附加到当前服务器。
a.分离
EXEC sp_detach_db @dbname = 'pubs'
b.删除日志文件
c.再附加
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft
SQL Server\MSSQL\Data\pubs.mdf'
5.为了以后能自动收缩,做如下设置
企业管🍭理器【lǐ qì】--服务器--右键数👬据库--属性--选项【xuǎn xiàng】--选择【xuǎn zé】😅"自动收缩"
--SQL语句设置方式:
EXEC sp_dboption '数据库📘名【míng】',
'autoshrink', 'TRUE'
6.如果想以后不让它日志增长得太大
企业管理器--服务器【fú wù qì】--右键数【yòu jiàn shù】据库【jù kù】⛵--属性--事务日💣志🍏
--将文件增长限制为【zhì wéi】xM(x是你允【shì nǐ yǔn】🐁许的最大数据【dà shù jù】文件大💧小🚰)
--SQL语句的设置方式:
alter database 数据库💑名【míng】 modify file(name=逻辑文🐉件名【jiàn míng】,maxsize=20) (文/yan)
关键词:SQL,Server,数据库
阅读本文后您有什么感想? 已有 人给出评价!
- 1
- 1
- 1
- 1
- 1
- 1