如何清理sql server 已满的数据库日志
发布网友
发布时间:2022-04-25 12:20
我来回答
共1个回答
热心网友
时间:2022-04-08 08:45
具体方法有3种。
方法一:
第一步:
backup
log
database_name
with
no_log
或者
backup
log
database_name
with
truncate_only
--
no_log和truncate_only是在这里是同义的,随便执行哪一句都可以。
第二步:
1.收缩特定数据库的所有数据和日志文件,执行:
dbcc
shrinkdatabase
(database_name,[,target_percent])
--
database_name是要收缩的数据库名称;target_percent是数据库收缩后的数据库文件中所要的剩余可用空间百分比。
2.收缩一次一个特定数据库中的数据或日志文件,执行
dbcc
shrinkfile(file_id,[,target_size])
--
file_id是要收缩的文件的标识
(id)
号,若要获得文件
id,请使用
file_id
函数或在当前数据库中搜索
sysfiles;target_size是用兆字节表示的所要的文件大小(用整数表示)。如果没有指定,dbcc
shrinkfile
将文件大小减少到默认文件大小。两个dbcc都可以带上参数notruncate或truncateonly,具体意思查看联机帮助.
方法二:
第一步:
先备份整个数据库以备不测
。
第二步:
备份结束后,在query
analyzer中执行如下的语句:
exec
sp_detach_db
yourdbname,true
--卸除这个db在mssql中的注册信息
第三步:
到日志的物理文件所在的目录中去删除该日志文件或者将该日志文件移出该目录
第四步:
在query
analyzer中执行如下的语句:
exec
sp_attach_single_file_db
yourdbname,'
d:\mssql\data\yourdbname_data.mdf
'
--以单文件的方式注册该db,如果成功则mssql将自动为这个db生成一个500k的日志文件。
方法三:
1.
进入企业管理器,选中数据库,比如demo
2.
所有任务->分离数据库
3.
到数据库文件的存放目录,将muonline_log.ldf文件删除,以防万一,你可以拷出去
4.
企业管理器->附加数据库,选muonline,这个时候你会看见日志文件这项是一个叉,不要紧,继续,此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。
5.
记得数据库重新附加后用户要重新设置一下。
如果以后,不想要它变大:
sql2000下使用:
在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。
或用sql语句:
alter
database
数据库名
set
recovery
simple
如何清理sql server 已满的数据库日志
1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如用户数据库cwbase1)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存 ...
sqlserver 事务日志已满的几种解决方案
1.数据库右键属性-选项-恢复模式-下拉选择简单-最后点击确定 2.右键数据库-任务-收缩-文件类型-下拉选择日志-收缩操作-在释放未使用.(默认收缩到1MB)-最后点击确定 3.最后别忘了回到第一步骤把恢复模式改为完整!三.自动收缩:1.为了以后能自动收缩,做如下设置:企业管理器–服务器–右键数据库–属...
SQL server数据库日志满了怎么处理?
一种方法:清空日志。1.打开查询分析器,输入命令 DUMP TRANSACTION 数据库名 WITH NO_LOG 2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。另一种方法...
SQLserver数据库日志满了怎么处理(sqlserver事务日志已满,怎么处理)
一、删除日志文件。二、手动收缩。操作如下:1、在数据库页面中选择“选项”;2、在打开的选项页面中,将恢复模式更改为“简单”;3、然后点击下方的“确定”;4、然后在数据库文件和文件组汇总,将文件类型更改为“日志”;5、在下方的收缩操作中,选择“将文件收缩到1MB”即可,也可以根据需求自行设...
SQL SERVER数据库日志清空图文教程
第二个方法就是采用了一个比较死的办法 采用 分离 然后再删除日志文件再附加来生成一个新的日志文件 切记在操作前先把SQL好好的备份一下 第一步 当然还是打开企业管理器了 在分离前最好是先把IIS之类的正在连接数据库的程序关一下 要不然老半天也分离不了 也可以选择一下 删除链接 这样可能分离会快...
Sqlserver数据库日志太大如何快速删除
log, 模式-- 第一步:清空日志DUMP TRANSACTION [YZGA] WITH NO_LOG-- 第二步:截断事务日志BACKUP LOG [YZGA] WITH NO_LOG-- 第三步:收缩数据库DBCC SHRINKDATABASE([YZGA])注意:尽管可用该选项手动截断事务日志,但是我们极力建议您不要这样做,因为这会将日志链断开。在下一次完整备份或完...
数据库日志已满,如何释放日志空间
一、清除日志:1、选择数据“DJABC”,鼠标右键弹出菜单,选择“所有任务”?8?1“分离数据库”。2、分离数据库:如果有其他程序当前正连接到本数据库,请点击“清除”按钮清除所有连接,然后按下 “确定”按钮即可完成对数据库的分离。3、删除数据库的日志文件:数据库一旦被分离后,你可以直接删除数据...
清除历史记录SQLServer的方法
当使用SQL Server登录以使用数据库时,已登录的日志将出现在登录框中,下面是删除方法:SQL Server 2008 删除信件:文档设置用户应用数据微软微软SQL服务器 100 工具壳 sqlstudio.bin文件。或者:在图书馆的直接运行中 win7进入以下路径直接在地址栏中,删除sqlstudio.bin文件,%APPDATA%directory 微软微软...
SQLServer 如何自动清理日志文件
打开企业管理器,进入“管理”-“sql server代理服务”-“作业”,在右侧窗口点击右键,选择“新建作业”。“常规”选项卡中,填写作业名称,具体描述,注意所有者最好还是用sa或者默认的管理帐号。转到“步骤”选项卡,新建作业步骤,填写步骤名称,类型为脚本,数据库为需要清理日志的数据库,在下边命令中...
SQL Server事务日志已满的解决方法
我们对数据库的增删改都会对数据库中数据作出改动。所有的改动都被SqlServer记录到事务日志中了。随着时间的推移,事务日志文件就会慢慢被事务日志占满,因此要确保数据库正常动作,我们对事务日志进行压缩。下面以数据库logtest为例 在压缩前先对数据库进行备份,打开企业管理器--单击选中要备份的数据库-...