Ik heb ” Kan de ‘alleen-lezen’ database niet verkleinen ”-fout tijdens het verkleinen van het transactielogboek tijdens het gebruik van de AlwaysOn-beschikbaarheidsgroep.
Verklein transactielogboek bij gebruik van AlwaysOn-beschikbaarheidsgroep
Het transactielogboek van de SQL Server-grootte was erg groot, ik moet het verkleinen om het kleiner te maken. Maar mijn database gebruikt AlwaysOn-beschikbaarheidsgroep, dus ik kon het niet verkleinen vanwege de volgende fout.
Ik heb het volgende SQL-script gebruikt, je kunt de SQL Server MDF, NDF of LDF verkleinen met het volgende script of de SQL Server Management Studio-tool.
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 'alleen-lezen' database niet verkleinen
Deze fout is gerelateerd aan de alleen-lezen database. Om deze fout op te lossen, kunt u een failover van de Instance uitvoeren en kunt u de alleen-lezen database naar Primair maken met behulp van het volgende bericht.
SQL Server AlwaysOn (Beschikbaarheidsgroep) Architectuur en stapsgewijze installatie -3 Handmatige failover-stappen
Wanneer u de Always On Failover uitvoert, kunt u het transactielogbestand verkleinen omdat deze database nu de primaire database en lees-schrijfmodus is, zodat u deze gemakkelijk kunt verkleinen.
Wilt u Microsoft SQL Server DBA-zelfstudies voor beginners leren, lees dan de volgende artikelen.
SQL Server (MSSQL DBA) Database-tutorials voor beginners Databasebeheerders