sql >> Base de Datos >  >> RDS >> Sqlserver

No se puede reducir la base de datos de "solo lectura" | Reducir el registro de transacciones al usar el grupo de disponibilidad AlwaysOn

Obtuve " No se puede reducir la base de datos de 'solo lectura' ” error durante la reducción del registro de transacciones al usar el grupo de disponibilidad AlwaysOn.

Reducir el registro de transacciones al usar el grupo de disponibilidad AlwaysOn

El registro de transacciones del tamaño de SQL Server era muy grande, necesito reducirlo para disminuir su tamaño. Pero mi base de datos usa el grupo de disponibilidad AlwaysOn, por lo que no pude reducirla debido al siguiente error.

He usado el siguiente script SQL, puede reducir el MDF, NDF o LDF de SQL Server usando el siguiente script o la herramienta 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
------------------------------

No se puede reducir la base de datos de "solo lectura"

Este error está relacionado con la base de datos de solo lectura, para resolver este error, puede conmutar por error la instancia y puede hacer que la base de datos de solo lectura sea primaria usando la siguiente publicación.

Arquitectura de SQL Server AlwaysOn (grupo de disponibilidad) e instalación paso a paso:3 pasos manuales de conmutación por error

Cuando realiza la conmutación por error siempre activa, puede reducir el archivo de registro de transacciones porque ahora esta base de datos ha sido la base de datos principal y el modo de lectura y escritura, por lo que puede reducirlo fácilmente.

¿Quiere aprender los tutoriales de DBA de Microsoft SQL Server para principiantes? Lea los siguientes artículos.

Tutoriales de bases de datos de SQL Server (MSSQL DBA) para administradores de bases de datos principiantes