Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Não é possível reduzir o banco de dados 'somente leitura' | Reduzir o log de transações ao usar o grupo de disponibilidade AlwaysOn


Recebi ” Não é possível reduzir o banco de dados 'somente leitura' ” durante a redução do log de transações ao usar o grupo de disponibilidade AlwaysOn.




Reduzir o log de transações ao usar o grupo de disponibilidade AlwaysOn


O log de transações do tamanho do SQL Server era muito grande, preciso reduzi-lo para diminuir seu tamanho. Mas meu banco de dados está usando o AlwaysOn Availability Group, então não consegui reduzi-lo devido ao seguinte erro.



Eu usei o seguinte script SQL, você pode reduzir o SQL Server MDF, NDF ou LDF usando o seguinte script ou a ferramenta 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
------------------------------




Não é possível reduzir o banco de dados 'somente leitura'


Este erro está relacionado ao banco de dados somente leitura, para resolver esse erro, você pode fazer o failover da instância e tornar o banco de dados somente leitura para o primário usando o seguinte post.



Arquitetura do SQL Server AlwaysOn ( Grupo de Disponibilidade ) e Instalação Passo a Passo -3 Etapas de Fail Over Manual





Ao executar o Always On Failover, você pode reduzir o arquivo de log de transações porque agora esse banco de dados foi o banco de dados primário e o modo de leitura e gravação, para que você possa reduzi-lo facilmente.




Você quer aprender os Tutoriais de DBA do Microsoft SQL Server para iniciantes e leia os artigos a seguir.


Tutoriais de banco de dados SQL Server ( MSSQL DBA ) para administradores de banco de dados iniciantes