Avamar: SQL-sikkerhedskopiering fuldført med fejl eller undtagelser.
Summary: Avamar-sikkerhedskopiering ved hjælp af SQL-plug-in udført med undtagelser eller fejl. 995 I/O-handlingen er blevet afbrudt på grund af enten en trådafslutning eller en programanmodning eller operativsystemfejl 0x8007000e. (Der er ikke nok lagerplads til rådighed til at fuldføre denne handling.) ...
Symptoms
- Windows-programlogfiler til SQL Server.
10/9/2013 10:33:24 PM MSSQLSERVER Error Backup 3041 NT AUTHORITY\SYSTEM RFSQL03 BACKUP failed to complete the command BACKUP DATABASE ASAP. Check the backup application log for detailed messages. 10/9/2013 10:33:24 PM MSSQLSERVER Error Server 18210 NT AUTHORITY\SYSTEM RFSQL03 BackupVirtualDeviceSet::SetBufferParms: Request large buffers failure on backup device '(local)_ASAP_db_sched-sql_backup-1381372200061#12-3006-SQL'. Operating system error 0x8007000e(Not enough storage is available to complete this operation.).
- Avamar SQL-logfiler
2013-12-17 22:08:23 avsql Error <9072>: sqlconnectimpl_smo::execute Microsoft.SqlServer.Management.Common.ExecutionFailureException: An exception occurred while executing a Transact-SQL statement or batch. ---> System.Data.SqlClient.SqlException: Write on "(local)_TMEngine_8PM-BACKUP-SQL-1387332000116#1-3006-SQL" failed: 112 (There is not enough space on the disk.)
- Der opstod en uoprettelig I/O-fejl i filen nedenfor.
"(local)_TMEngine_8PM-DATACAPAPP01-SQL-1387332000116#1-3006-SQL:" 995(The I/O operation has been aborted because of either a thread exit or an application request.).
BACKUP DATABASE is terminating abnormally.
Cause
Der er observeret højt hukommelses- og CPU-forbrug under sikkerhedskopieringsprocessen. Ovenstående fejl opstår, fordi avsql forsøger at bruge SQLVDI-grænseflade-API'en (et bibliotek, enten delt eller statisk) til at læse data fra SQL-serveren. Under normale forhold forudsætter denne proces, at hukommelsesallokering til segmentdeling under overførslen er vellykket. Dataoverførslen på SQLVDI-grænsefladen mislykkes, avsql logger en meddelelse og bryder røret til avtar under plug-ins nedlukningsproces. Det første trin er at validere tilgængelig SQL-hukommelse ved at køre følgende TSQL-forespørgsler (Transact-SQL):
Efter TSQL-forespørgsel for at kontrollere Total OS-hukommelse og tilgængelig hukommelse:
SELECT
(total_physical_memory_kb/1024) AS Total_OS_Memory_MB,
(available_physical_memory_kb/1024) AS Available_OS_Memory_MB
FROM sys.dm_os_sys_memory;
Her er forespørgslen til kontrol af hukommelse, der forbruges af SQL Server under Avamar-sikkerhedskopiering:
SELECT
(physical_memory_in_use_kb/1024) AS Memory_used_by_Sqlserver_MB,
(locked_page_allocations_kb/1024) AS Locked_pages_used_by_Sqlserver_MB,
(total_virtual_address_space_kb/1024) AS Total_VAS_in_MB,
process_physical_memory_low,
process_virtual_memory_low
FROM sys.dm_os_process_memory;
Der skal være mindst 20 % eller mere ledig hukommelse, for at Avamar-sikkerhedskopier kan køre korrekt. SQL Server bruger som standard de fleste tilgængelige hukommelsesressourcer. Den skal konfigureres til at begrænse mængden af hukommelse, der er allokeret til SQL-handlinger, for at sikre optimal ydeevne.
De andre kendte årsager til disse fejl er:
- MAXTRANSFERSIZE blev ændret til 4 MB i Avamar 7.0, og vi ser denne fejl, selv hvor maxtransfer var 64 KB:
- Denne fejl er ofte tegn på utilstrækkelig diskplads, især under gendannelseshandlinger. En logget fejl kan f.eks. vise:
2024/05/01-18:25:39.60800 [avsql_t0] ===> avsql_avtarpipe_ctl::wait
2024/05/01-18:25:39.60899 [sqlcommand restore(FxCentral)] Caught Exception : Microsoft.SqlServer.Management.Common.ExecutionFailureException: An exception occurred while executing a Transact-SQL statement or batch. ---> System.Data.SqlClient.SqlException: There is insufficient free space on disk volume 'H:\' to create the database. The database requires 870622363648 additional free bytes, while only 140103278592 bytes are available
- Ifølge Pinal Dave (https://blog.sqlauthority.com/2016/04/14/sql-server-backup-randomly-failing-error-112-not-enough-space-disk/) (Eksternt websted)
- SQL-backupstørrelsen på en komprimeret database ville være forskellig i begyndelsen og slutningen, og denne uoverensstemmelse kan føre til denne fejl
- Når du ændrer MAXTRANSFERSIZE ved at indstille nedenstående avsql-flag som vist, især for store databasesikkerhedskopier
avsql flag : —max-transfer-size=65536
- Fejl set efter avsql rapporterede forbindelsesfejl som set i klippet nedenfor:
2020-11-03 15:32:36 avsql Info <10684>: Setting ctl message version to 3 (from 1)
2020-11-03 15:32:36 avsql Info <16136>: Setting ctl max message size to 268435456
2020-11-03 15:32:38 avsql Info <6688>: Process 9540 (C:\Program Files\avs\bin\avtar) finished (code 536870920: cannot establish connection with server (possible network or DNS failure))
2020-11-03 15:32:38 avsql Warning <6690>: CTL workorder "NAH-1604435554526#1" non-zero exit status 'code 536870920: cannot establish connection with server (possible network or DNS failure)'
2020-11-03 15:32:38 avsql Info <7732>: Waiting for avtar to finish
2020-11-03 15:32:38 avsql Info <6444>: Plugin exited with 'code 536870920: cannot establish connection with server (possible network or DNS failure)'
2020-11-03 15:32:38 avsql Error <18491>: SQL plug-in will now terminate due to the following avtar error: 'code 536870920: cannot establish connection with server (possible network or DNS failure)'
2020-11-03 15:32:38 avsql Info <6446>: SQL VDI transfer of 'sql_111\spd/SPMonitoring/f-0.SPMonitoring' to 'sql_111_spd_SPMonitoring_NAH-1604435554526-3006-SQL' successful
2020-11-03 15:32:38 avsql Error <40258>: sqlconnectimpl_smo::execute Microsoft.SqlServer.Management.Common.ExecutionFailureException: An exception occurred while executing a Transact-SQL statement or batch. ---> System.Data.SqlClient.SqlException: Write on "lfosat993_csotspd_SPMonitoring_NAH-1604435554526-3006-SQL" failed: 112(There is not enough space on the disk.)
-
- Ud over at afbøde disse symptomer ville indstilling af "vditransfertimeoutsecs" til en stor værdi undgå timeout for avtarrørforbindelse;
Resolution
Brug en af følgende metoder til at tilføje flag i MCGUI-datasættet eller i avsql.cmd filen:
- Metode #1 - Tilføjelse til datasæt
- Tilføj følgende flag i et D-datasættil SQL Plug-in.
-
BEMÆRK: Begge flag skal have førende "[avsql]"
[avsql]max-transfer-size=65536
[avsql]vditransfertimeoutsecs=10800
- Metode #2 - Tilføjet til avsql.cmd filen
- Føj følgende flag til filen C:\Programmer\avs\var\avsql.cmd
--max-transfer-size=65536
--vditransfertimeoutsecs=10800
-
-
BEMÆRK: I nogle tilfælde kan store virtuelle maskiner kræve en større værdi for timeout-markering:
-
- Metode #3 - Deaktiver og genaktiver protokollerne "Delt hukommelse", "Navngivne pipes" og "TCP/IP" fra Config Manager (aktiveret indstilling). Dette ville kræve en genstart af SQL Server:
