Avamar:SQL 備份已完成,但發生錯誤或例外。
Summary: 使用 SQL 附掛程式進行 Avamar 備份已完成,但發生例外狀況或錯誤。995 I/O 作業因執行緒結束或應用程式要求或作業系統錯誤0x8007000e而中止。(沒有足夠的儲存空間來完成此操作。)
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
使用 SQL 附掛程式進行 Avamar 備份已完成,但可在 Avamar 記錄和 Windows 應用程式記錄中看到例外狀況。
- SQL Server 的 Windows 應用程式記錄。
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 記錄
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.)
- 下列檔案發生無法復原的 I/O 錯誤。
"(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
備份程序期間出現高記憶體和 CPU 使用率。發生上述故障的原因是 avsql 嘗試使用 SQLVDI 介面 API (共用或靜態的程式庫) 從 SQL 伺服器讀取資料。在正常情況下,此程序會假設在傳輸期間成功分配記憶體以進行區段共用。SQLVDI 介面上的數據傳輸失敗,avsql 會記錄一條消息,並在外掛程式的關閉過程中斷開管道至 avtar。第一步是通過運行以下 Transact-SQL (TSQL) 查詢來驗證 SQL 可用記憶體:
以下 TSQL 查詢以檢查作業系統總記憶體和可用記憶體:
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;
以下是在 Avamar 備份執行期間檢查 SQL Server 耗用記憶體的查詢:
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;
至少應有 20% 或更多的可用記憶體,Avamar 備份才能正常運行。根據預設,SQL Server 會消耗大部分的可用記憶體資源。必須將其配置為限制分配給 SQL 操作的內存量,以確保最佳性能。
這些故障的其他已知原因包括:
- 在 Avamar 7.0 中,MAXTRANSFERSIZE 已變更為 4 MB,即使 maxtransfer 為 64 KB,我們也會看到此失敗:
- 此錯誤通常表示磁碟空間不足,尤其是在還原操作期間。例如,記錄的故障可能會顯示:
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
- 根據Pinal Dave(https://blog.sqlauthority.com/2016/04/14/sql-server-backup-randomly-failing-error-112-not-enough-space-disk/)(外部網站)
- 壓縮資料庫的 SQL 備份大小在開始和結束時會有所不同,這種差異可能會導致此故障
- 變更 MAXTRANSFERSIZE 時,請設定以下 avsql 旗標,如下所示,特別是對於大型資料庫備份
avsql flag : —max-transfer-size=65536
- avsql 回報連線故障後出現的故障,如以下截圖所示:
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.)
-
- 除了可緩解這些症狀之外,將「vditransfertimeoutsecs」設定為較大的值亦可避免 avtar 管道連線逾時
Resolution
因應措施:
使用以下方法之一在MCGUI數據集或avsql.cmd檔中添加標誌:
- 方法 #1 - 新增到資料集
- 在 SQL 外掛程式的 D 狀態集中添加以下標誌。
-
注意:兩個旗標都必須有前導「[avsql]」
[avsql]max-transfer-size=65536
[avsql]vditransfertimeoutsecs=10800
- 方法 #2 - 新增到avsql.cmd檔案
- 將下列旗標新增至 C:\Program Files\avs\var\avsql.cmd 檔案
--max-transfer-size=65536
--vditransfertimeoutsecs=10800
-
-
注意:在某些情況下,大型虛擬機器可能需要較大的逾時旗標值:
-
- 方法 #3 - 從組態管理員停用並重新啟用通訊協定「共用記憶體」、「命名管道」及「TCP/IP」(啟用選項)。這需要重新啟動 SQL 伺服器:

Affected Products
Avamar Plug-in for SQLProducts
Avamar, Avamar Plug-inArticle Properties
Article Number: 000078628
Article Type: Solution
Last Modified: 25 Feb 2025
Version: 3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.