云服务器网:购买云服务器和VPS必上的网站!

Sqlserver日志空间满:解决之道

Sqlserver日志空间满是指Sqlserver日志文件满,不能再继续记录事务或其他相关操作日志。很多朋友可能会发现,Sqlserver日志空间常常会变得很满,致使没法操作,这里我们将介绍几种比较常见的解决方法。
首先,使用命令行自动完成日志清算的进程。比如

sqlserver日志空间满是指Sqlserver日志文件满,不能再继续记录事务或其他相关操作日志。很多朋友可能会发现,Sqlserver日志空间常常会变得很满,致使没法操作,这里我们将介绍几种比较常见的解决方法。

首先,使用命令行自动完成日志清算的进程。比如,使用以下命令行,可以自动清算Sqlserver 日志空间中的日志:

use logtables
GO
BACKUP LOG [logtables] TO DISK = N'D:\logs\logtables.bak' WITH INIT, NOUNLOAD,STATS = 10
GO

sp_cycle_errorlog

通过以上命令,可以将Sqlserver Tutorials的毛病日志记录备份到指定的路径,再重新启动服务器以清算日志空间,从而解决Sqlserver日志文件满的问题。

其次,可使用以下命令查看Sqlserver 日志使用空间:

DBCC SQLPERF (LOGSPACE) 

运行以上命令,可以看到Sqlserver 日志使用空间,从而排查问题并处理。

最后,可以依照一定的规则清算日志以减少日志满空间的产生。例如,可使用一个简单的脚本:

USE [master]
GO
DECLARE @FileName VARCHAR(500)
DECLARE @sql VARCHAR(500)
DECLARE @CleanDate DATETIME
SET @CleanDate = DATEADD(dd,⑺,GETDATE())
SET @FileName = (SELECT top(1) [name]FROM sys.fn_get_audit_file('SQLServer\LOGS\','True'))
SET @sql = 'ALTER DATABASE master SET RECOVERY SIMPLE'
EXEC (@SQL)
BACKUP LOG Master TO DISK = @FileName WITH NOFORMAT, NOINIT,
NAME = ' Master-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,
STATS = 10
GO
USE [master]
GO
DECLARE @FileName VARCHAR(500)
DECLARE @sql VARCHAR(500)
DECLARE @CleanDate DATETIME
SET @CleanDate = DATEADD(dd,⑺,GETDATE())
SET @FileName = (SELECT top(1) [name]FROM sys.fn_get_audit_file('SQLServer\LOGS\','True'))
SET @sql = 'ALTER DATABASE master SET RECOVERY SIMPLE'
EXEC (@SQL)
GO
DBCC SHRINKFILE (2, 1)
GO
EXEC sp_cycle_errorlog
GO

使用以上脚本,可以定期清算过剩的日志记录,从而可以免日志空间满的情况。

总之,Sqlserver日志空间满是一个常见的问题,但可使用上述几种常见的方法进行处理,从而解决Sqlserver日志空间满的问题。

本文来源:https://www.yuntue.com/post/117775.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注