解决SQLServer事物日志过大的方法
在平时的运维中,DBA会经常遇到SQLServer日志文件过大导致磁盘空间不足的情况,这时候就需要把日志文件收缩一下来释放磁盘空间,下面介绍了收缩日志文件的方法一
日志文件过大导致磁盘空间不足的情况,这时候就需要把日志文件收缩一下来释放磁盘空间,下面介绍了收缩日志文件的方法
一.要进行日志文件收缩首先要把事物日志截断。
正常情况下SQL Server的事物日志自动截断方法分以下两种情况
1.简单恢复模式下,在检查点之后发生。
2.在完整恢复模式或大容量日志恢复模式下,如果自上一次备份后生成检查点,则在日志备份后进行截断(除非是仅复制日志备份)。
查看恢复模式的方法如下
在命令下查看
recovery_model_desc
FROM sys.databases
数据库名' ;
查看效果如图所示
(1)如果是在完整或者大容量日志的恢复模式下,那我们就要查看一下近期是否做过完整的日志以确定日志是否被自动截断过
(2)关于数据库的检查点,网站空间,检查点会根据系统的恢复间隔自动生成检查点
我们可以使用命令来查看截断被延迟的原因log_reuse_wait,log_reuse_wait_desc
FROM sys.databases
数据库名';的值来查找原因
的值的解释 此表来源于微软知识库:(v=sql.90).aspx
log_reuse_wait 值
log_reuse_wait_desc 值
说明
0
NOTHING
当前有一个或多个可重用的虚拟日志文件。
1
CHECKPOINT
自上次日志截断之后,尚未出现检查点,或者日志头部尚未跨一个虚拟日志文件移动(所有恢复模式)。
这是日志截断延迟的常见原因。有关详细信息,请参阅检查点和日志的活动部分。
2
LOG_BACKUP
要求日志备份将日志标头前移(仅适用于完整恢复模式或大容量日志恢复模式)。
日志备份不会阻止截断。
日志备份完成后,日志标头将前移,并且一些日志空间可能会变为可重新使用。
3
ACTIVE_BACKUP_OR_RESTORE
数据备份或还原正在进行(所有恢复模式)。
部分。
4
ACTIVE_TRANSACTION
事务处于活动状态(所有恢复模式)。
部分。
延迟的事务.
5
DATABASE_MIRRORING
数据库镜像暂停,服务器空间,或者在高性能模式下,镜像数据库明显滞后于主体数据库(仅限于完整恢复模式)。
部分。
6
REPLICATION
在事务复制过程中,与发布相关的事务仍未传递到分发数据库(仅限于完整恢复模式)。
部分。
7
DATABASE_SNAPSHOT_CREATION
正在创建数据库快照(所有恢复模式)。
这是日志截断延迟的常见原因,通常也是主要原因。
8
LOG_SCAN
正在进行日志扫描(所有恢复模式)。
这是日志截断延迟的常见原因,免备案空间,通常也是主要原因。
9
OTHER_TRANSIENT
此值当前未使用。
二.收缩日志文件
在事物日志进行截断之后,那我们就可以把日志文件进行收缩
可以使用DBCC SHRINKFILE使用命令进行收缩
。
执行完命令后查看日志文件是否缩小,日志文件收缩后不会比虚拟日志文件小
命令
更改数据库恢复模式的命令如下
更改为完全模式
bulk_logged ; --更改为大容量日志模式
更改为简单模式
执行效果如图所示
注意事项:如果更改为简单模式,那以后将无需事物日志备份,但是一定要确保的定期执行数据库备份来确保数据的完整性。
如果更改为完整模式或者大容量日志模式,那一定首先进行一次完整的数据库备份以启动日志链,并且设置任务计划来定期的日志备份
本文出自 “不明飞行物” 博客,请务必保留此出处

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Importschritte sind wie folgt: Kopieren Sie die MDF-Datei in das Datenverzeichnis von SQL Server (normalerweise C:\Programme\Microsoft SQL Server\MSSQL\DATA). Öffnen Sie in SQL Server Management Studio (SSMS) die Datenbank und wählen Sie Anhängen aus. Klicken Sie auf die Schaltfläche „Hinzufügen“ und wählen Sie die MDF-Datei aus. Bestätigen Sie den Datenbanknamen und klicken Sie auf die Schaltfläche OK.

Für Objekte mit demselben Namen, die bereits in der SQL Server-Datenbank vorhanden sind, müssen folgende Schritte ausgeführt werden: Bestätigen Sie den Objekttyp (Tabelle, Ansicht, gespeicherte Prozedur). Mit IF NOT EXISTS kann die Erstellung übersprungen werden, wenn das Objekt leer ist. Wenn das Objekt Daten enthält, verwenden Sie einen anderen Namen oder ändern Sie die Struktur. Verwenden Sie DROP, um vorhandene Objekte zu löschen (Vorsicht, Sicherung empfohlen). Suchen Sie nach Schemaänderungen, um sicherzustellen, dass keine Verweise auf gelöschte oder umbenannte Objekte vorhanden sind.

Wenn der SQL Server-Dienst nicht gestartet werden kann, können Sie die folgenden Schritte beheben: Überprüfen Sie das Fehlerprotokoll, um die Grundursache zu ermitteln. Stellen Sie sicher, dass das Dienstkonto über die Berechtigung zum Starten des Dienstes verfügt. Überprüfen Sie, ob Abhängigkeitsdienste ausgeführt werden. Deaktivieren Sie die Antivirensoftware. Reparieren Sie die SQL Server-Installation. Wenn die Reparatur nicht funktioniert, installieren Sie SQL Server neu.

So zeigen Sie die SQL Server-Portnummer an: Öffnen Sie SSMS und stellen Sie eine Verbindung zum Server her. Suchen Sie den Servernamen im Objekt-Explorer, klicken Sie mit der rechten Maustaste darauf und wählen Sie Eigenschaften. Sehen Sie sich auf der Registerkarte „Verbindung“ das Feld „TCP-Port“ an.

SQL Server-Datenbankdateien werden normalerweise am folgenden Standardspeicherort gespeichert: Windows: C:\Programme\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data Der Speicherort der Datenbankdatei kann durch Ändern des Datenbankdateipfads angepasst werden Einstellung.

Wenn Sie eine SQL Server-Datenbank versehentlich löschen, können Sie die Datenbankaktivität stoppen; Party-Tools. Bitte sichern Sie Ihre Datenbank regelmäßig und aktivieren Sie die Transaktionsprotokollierung, um Datenverlust zu verhindern.

Wenn die SQL Server-Installation fehlschlägt, können Sie sie mit den folgenden Schritten bereinigen: Deinstallieren Sie SQL Server. Löschen Sie Registrierungsschlüssel. Löschen Sie Dateien und Ordner. Starten Sie den Computer neu

Das Problem wurde festgestellt, dass ich dieses Mal die SqlServer-Datenbank verwendete, die ich zuvor noch nicht verwendet hatte, aber das Problem war nicht schwerwiegend. Nachdem ich den SqlServer gemäß den Schritten im Anforderungsdokument verbunden hatte, startete ich das SpringBoot-Projekt und fand ein Fehler wie folgt: Zuerst dachte ich, es sei ein Problem mit der SQLServer-Verbindung, also habe ich die Datenbank überprüft und festgestellt, dass alles in der Datenbank normal ist. Ich habe zuerst meine Kollegen gefragt, ob sie ein solches Problem hätten Ich stellte fest, dass dies nicht der Fall war, und begann meinen besten Teil mit der Baidu-Programmierung. Die spezifische Fehlermeldung, die ich zu lösen begann, war diese, also startete ich die Baidu-Fehlerberichterstattung: ERRORc.a.d.p.DruidDataSource$CreateCo
