Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Impossible de réduire la base de données en lecture seule | Réduire le journal des transactions lors de l'utilisation du groupe de disponibilité AlwaysOn

J'ai reçu " Impossible de réduire la base de données en lecture seule ” erreur lors de la réduction du journal des transactions lors de l'utilisation du groupe de disponibilité AlwaysOn.

Réduire le journal des transactions lors de l'utilisation du groupe de disponibilité AlwaysOn

Le journal des transactions de la taille de SQL Server était très volumineux, je dois le réduire pour réduire sa taille. Mais ma base de données utilise le groupe de disponibilité AlwaysOn, je n'ai donc pas pu le réduire à cause de l'erreur suivante.

J'ai utilisé le script SQL suivant, vous pouvez réduire le SQL Server MDF, NDF ou LDF à l'aide du script suivant ou de l'outil SQL Server Management Studio.

USE [MSDB]
DECLARE @i INT;
set @i=199960
print @i
while(@i>199900)
begin
DBCC SHRINKFILE (N'MSDB_log.trn' ,@i)
set @[email protected]
print @i
end

TITLE: Microsoft SQL Server Management Studio
------------------------------

Shrink failed for LogFile 'KAS_CLIENT_log'. (Microsoft.SqlServer.Smo)

For help, click: https://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=15.0.18206.0+((SSMS_Rel).191029-2112)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Shrink+LogFile&LinkId=20476

------------------------------
ADDITIONAL INFORMATION:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

Cannot shrink 'read only' database 'MSDB'. (Microsoft SQL Server, Error: 7992)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=13.00.5026&EvtSrc=MSSQLServer&EvtID=7992&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------

Impossible de réduire la base de données en lecture seule

Cette erreur est liée à la base de données en lecture seule, pour résoudre cette erreur, vous pouvez basculer l'instance et vous pouvez rendre la base de données en lecture seule principale en utilisant le message suivant.

Architecture SQL Server AlwaysOn (groupe de disponibilité) et installation étape par étape -3 étapes de basculement manuel

Lorsque vous effectuez le basculement permanent, vous pouvez réduire le fichier journal des transactions, car cette base de données est désormais en mode base de données principale et lecture-écriture, vous pouvez donc la réduire facilement.

Voulez-vous apprendre les didacticiels Microsoft SQL Server DBA pour débutants, puis lisez les articles suivants.

Tutoriels de base de données SQL Server (MSSQL DBA) pour les administrateurs de base de données débutants