国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

技术教程
您的位置:首页数据库类SQL Server → MSSQL 清空日志 删除日志文件

MSSQL 清空日志 删除日志文件

我要评论 2013/07/04 22:09:42 来源:国语自产精品视频在线看 编辑:zbbingyang.com [ ] 评论:0 点击:265次

最近的🚽项目主【zhǔ】要做数🍠据的归【jù de guī】档,把数据📐从一个数据库【shù jù kù】🎳拉到另【lā dào lìng】一个数据库【shù jù kù】🎳,造成新💿数据库【shù jù kù】🎳的日志【de rì zhì】文件非💽常大;或者数【huò zhě shù】据库🎳在使用过程中会🚯使日志文件【zhì wén jiàn】不断增加,使得数据库【shù jù kù】🎳的性能下【xià】🛂降【jiàng】,并且占💟用大量的磁盘🏡空间【kōng jiān】🍣。于是想把日志【bǎ rì zhì】文件删【wén jiàn shān】除。最简单🔩就是先分离数【fèn lí shù】据库🎳-》删除日【shān chú rì】志文件【zhì wén jiàn】-》最后附加数据【jiā shù jù】,我这里需要在SSIS中调用【zhōng diào yòng】,所以已sql脚本为🤛主【zhǔ】。

两种简单的清除日志的方法:

一分离【fèn lí】附加法【fù jiā fǎ】:
1、首先把【shǒu xiān bǎ】数据库分离【fèn lí】,分离【fèn lí】数据库之前一定要做好🗿数据库的全备份【fèn】,选择数🚡据库——右键🍄——任务——分离【fèn lí】,其中药【qí zhōng yào】🐼勾选删【gōu xuǎn shān】🛏除连接🏢!

分离后在数据库【kù】列表将看不到【dào】💆已分离的【de】数据库【kù】。

2、删除数【shān chú shù】据库【kù】的【de】🙇LOG文件【wén jiàn】😝数据库【kù】文【wén】😟件夹下的【de】对应数据库【kù】的【de】🙇 ldf文件【wén jiàn】😝

3、附加数【fù jiā shù】⛩据库【kù】,附加的【de】时候会【shí hòu huì】提醒找不到【dào】💆log文件【wén jiàn】😝。到【dào】时附加上后【jiā shàng hòu】会自动⭐创建一个新的【gè xīn de】日志文【rì zhì wén】件😝,从而达👡到【dào】清理🕢数据库【kù】的【de】🙇目的【de】

二🏡、sql语句清🎥除mssql日志【zhì】

DUMP TRANSACTION TestDB WITH NO_LOG 清除日🌰志【zhì】

DBCC SHRINKFILE ('TestDB_log',1) 收缩数据库文【jù kù wén】件

BACKUP LOG TestDB WITH NO_LOG 截断事务日志【wù rì zhì】

该命令🆒在【zài】SQL Server 2008也是不【yě shì bú】支持,在【zài】SQL Server 2005和【hé】🧢2000可以使🚝用。

首先我们需要获取数据库文件的路径:

 declare @logfilename varchar(100)
 declare @datafilename varchar(100)
select @logfilename=physical_name from sys.database_files where type=1
select @datafilename=physical_name from sys.database_files where type=0

然后切换到master下,分离数据库

use master
exec sp_detach_db @dbname='TestVFA';

紧接下😛来就是【lái jiù shì】🍟删除数【shān chú shù】❄据库 日志文【rì zhì wén】件
----Remove file
DECLARE @Result int
DECLARE @FSO_Token int
EXEC @Result = sp_OACreate 'Scripting.FileSystemObject', @FSO_Token OUTPUT
EXEC @Result = sp_OAMethod @FSO_Token, 'DeleteFile', NULL, @logfilename
EXEC @Result = sp_OADestroy @FSO_Token
最后就是附加数据库
exec sp_attach_single_file_db @dbname='TestVFA',@physname=@datafilename

注意:默认Ole Automation Procedures 是禁用📂的我们【de wǒ men】⏪需要启【xū yào qǐ】用它

exec sp_configure 'show advanced options', 1;
RECONFIGURE;
exec sp_configure 'Ole Automation Procedures',1;
RECONFIGURE;

关键词:MSSQL

阅读本文后您有什么感想? 已有 人给出评价!

  • 0 欢迎喜欢
  • 0 白痴
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙视