Jag fick " Kan inte krympa "skrivskyddad"-databas ”-fel under Krymp transaktionslogg när du använder AlwaysOn Availability Group.
Förminska transaktionsloggen när du använder AlwaysOn Availability Group
Transaktionsloggen för SQL Server-storleken var mycket stor, jag måste krympa den för att minska storleken. Men min databas använder AlwaysOn Availability Group, så jag kunde inte krympa den på grund av följande fel.
Jag har använt följande SQL-skript, du kan krympa SQL Server MDF, NDF eller LDF med hjälp av följande skript eller SQL Server Management Studio-verktyg.
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 ------------------------------
Kan inte krympa "skrivskyddad"-databasen
Det här felet är relaterat till skrivskyddad databas, för att lösa detta fel kan du failover instansen och du kan göra den skrivskyddade databasen till primär med hjälp av följande inlägg.
SQL Server AlwaysOn ( Tillgänglighetsgrupp ) Arkitektur och Steg-för-steg-installation -3 Manuell misslyckande över steg
När du utför Always On Failover kan du krympa transaktionsloggfilen eftersom den här databasen nu har varit primär databas och lässkrivläge, så du kan enkelt krympa den.
Vill du lära dig Microsoft SQL Server DBA-handledningar för nybörjare, läs följande artiklar.
SQL Server ( MSSQL DBA ) Databashandledning för nybörjare Databasadministratörer