sql >> Database >  >> RDS >> Sqlserver

Kan 'alleen-lezen' database niet verkleinen | Transactielogboek verkleinen bij gebruik van AlwaysOn-beschikbaarheidsgroep

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


  1. Knee-Jerk Wait-statistieken:PAGEIOLATCH_SH

  2. Toon de sortering in MariaDB

  3. MySQL selecteren met CONCAT-voorwaarde

  4. Tabel maken met behulp van GUI in SQL Server - SQL Server / T-SQL-zelfstudie, deel 37