![cover](https://img-blog.csdnimg.cn/34a17babaabf44cebd465f441e6b4dbe.jpeg)
NC65 sql sever数据库,登录系统的时候报错,提示:数据库“XXX”的事务日志已满,原因为“LOG_BAKUP”。
数据库右键——任务——压缩——数据库,来到上面的压缩数据库文件,这个时候我们要选择压缩的百分比了,设置好百分比之后,我们就开始执行,这个过程可能比较漫长,毕竟是对磁盘的一次重新组合,所以敬请等待,最终你会看到磁盘会空出很多可用空间。在我们使用sql server数据库或者服务器时,有时会发现数据库不到一段时间,占用磁盘空间好大,也有可能是数据的原因,也有可能是其他的原因,但如果说占用绝大部分存储空
问题现象:sql sever数据库,NC65 人力在薪资发发节点计算薪资的时候报错,提示:数据库“XXX”的事务日志已满,原因为“LOG_BAKUP”。如下图:
问题处理:该问题系数据库事务日志满了造成的,先停系统服务,然后通过执行以下语句清理数据库事务日志(将其中ncdb替换为对应数据库名称)
USE ncdb;
alter database ncdb set recovery simple with no_wait;
alter database ncdb set recovery simple;--简单模式
dbcc shrinkfile (N'nnc_log01', 11, truncateonly);--nnc_log01文件名需要根据自己实际情况而定
alter database ncdb set recovery full with no_wait;
alter database ncdb set recovery full;--还原为完全模式
当我们使用sql server数据库时,经常会发现数据库过一段时间后,就会占用好大的磁盘空间,这可能是数据的原因,也有可能是其他的原因。但如果说占用绝大部分存储空间,而且数据量又不怎么大,那么,这其中就有问题了。该如何排查??
一、首先要清楚问题的原因之处:
打开sql server数据库,数据库右键——属性——文件,在这个文件栏打开之后,我们会看到主数据文件和日志文件的初始大小和增长大小,如果日志文件太多,我们首先要考虑处理日志文件。
对数据库事务日志已满的处理方法:
--完全命令模式
USE[master]
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE --简单模式
GO
USE DNName
GO
DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY)
GO
USE[master]
GO
ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式
GO
二、数据日志处理完之后,如果是日志的问题的话,这个时候磁盘的存储空间会多出来很多,如果不是这个问题的话,我们还要去查看数据库中每个表数据大小,看看是否是数据量很大这个原因导致的。
IF OBJECT_ID('tempdb..#TablesSizes') IS NOT NULL
DROP TABLE #TablesSizes
CREATE TABLE #TablesSizes
(
TableName sysname ,
Rows BIGINT ,
reserved VARCHAR(100) ,
data VARCHAR(100) ,
index_size VARCHAR(100) ,
unused VARCHAR(100)
)
DECLARE @sql VARCHAR(MAX)
SELECT @sql = COALESCE(@sql, '') + '
INSERT INTO #TablesSizes execute sp_spaceused ''' + QUOTENAME(TABLE_SCHEMA,
'[]') + '.'
+ QUOTENAME(Table_Name, '[]') + ''''
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
PRINT ( @SQL )
EXECUTE (@SQL)
SELECT *
FROM #TablesSizes
ORDER BY Rows DESC
三、当这些配置好了之后,我们发现确实是数据原因,这个时候,我们就要适当的去删除数据量比较大的表格了,删除完了之后,我们就要对表格进行压缩了。将磁盘的可用空间释放出来。
四、数据库右键——任务——压缩——数据库,来到上面的压缩数据库文件,这个时候我们要选择压缩的百分比了,设置好百分比之后,我们就开始执行,这个过程可能比较漫长,毕竟是对磁盘的一次重新组合,所以敬请等待,最终你会看到磁盘会空出很多可用空间。
更多推荐
所有评论(0)